aacord’s memo

abcを中心にpythonで解いた問題のメモ、整理をしています。緑になった。

abc 083 D - Wide Flip (python)

XOR っぽいけど本質はそこじゃない感じの問題。
本質は s = 0011100... と並んでいたら、s[0 : ], s[2 : ], s[5 : ] で操作する回数が異なっている必要があるということ。
なので s[2], s[5] で区切る必要があり、これを満たす最大の長さは
min( max(2,len(s)-2), max(5,len(s)-5) ) となり
これを s の最後まで見ていったら必要十分になります。

s = input()
l = len(s)
chk = [l]
for i in range(l-1):
  if s[i] != s[i+1]:
    chk.append(max(i+1,l-1-i))
print(min(chk))