#A0666. 反间计

反间计

题目背景

疑中之疑。比之自内,不自失也。

题目描述

题目英文名(子文件夹名):fan
源代码文件名:fan.cpp
输入文件:fan.in
输出文件:fan.out

33DAI 指挥着 nn 名士兵,构成了一道防线。所有士兵从左到右排成了一排。可以用一个字符串 ss 描述这 nn 名士兵的忠诚度。如果第 ii 个字符是 1,则表示第 ii 名士兵是忠诚的。如果是 0 则表示第 ii 名士兵并不忠诚。这道防线的战斗力被定义为最长的连续忠诚士兵的长度。

比如 0011011110111 的战斗力为 44010101010101 的战斗力为 11000000 的战斗力为 00

Kitten 现在可以策反一名 33DAI 的士兵,她可以任选一名士兵,不论其之前是否忠诚,都可以将其变为不忠诚的。请问 Kitten 可以把这道防线的战斗力降低为多少。

输入格式

输入一个仅包含 0,1 的字符串 ss

输出格式

输出策反一名士兵后,这道防线的战斗力最小可以被减少为多少。

0011011110111
3

可以把忠诚度变为 0011001110111

010101010101
1

可以把忠诚度变为 010101010100

000000
0

可以把忠诚度变为 000000

111
1

可以把忠诚度变为 101

数据规模与约定

对于 100%100\% 的数据,1s1051\le |s|\le 10^5,其中 s|s| 指的是字符串 ss 的长度。

  • 子任务 1(40 分):保证 s=1|s|=1
  • 子任务 2(30 分):保证 ss 中全都是 1
  • 子任务 3(20 分):保证 s100|s|\le 100
  • 子任务 4(10 分):没有特殊限制。