def min_operations(n, s): # 各位置での(0の数 - 1の数)の累積値 prefix_sum = [0] for char in s: if char == '0': prefix_sum.append(prefix_sum[-1] + 1) else: prefix_sum.append(prefix_sum[-1] - 1) # 累積和の最小値を0に調整するための操作回数 min_sum = min(prefix_sum) if min_sum < 0: # 累積和が負にならないよう調整 prefix_sum = [val - min_sum for val in prefix_sum] # 累積和の最大値が必要な操作回数 return max(prefix_sum)