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))