#3080. 连续段长度

连续段长度

题目描述

保山小粒咖啡享誉世界,咖啡豆在加工过程中需要经过筛选。

现在有一批咖啡豆排成一排,用字符串 ss 表示它们的品质状态:

  • 如果第 ii 个字符是 1,表示该位置的咖啡豆是优质豆;
  • 如果是 0,表示是普通豆。

这批咖啡豆的 优质连续段长度 定义为最长连续的优质豆个数。

例如 0011011110111 的优质连续段长度为 44

为了提高整体质量,你可以 ​将任意一颗普通豆升级为优质豆​(相当于把某个 0 变成 1)。

请问,升级一颗豆子后,优质连续段长度 最多 能变为多少?

输入格式

一行一个仅包含 01 的字符串 ss

输出格式

一个整数,表示升级一颗豆子后,优质连续段的最大可能长度。

0011011110111
8

解释: 把第 10 个位置的 0 变成 1,得到 0011011111111,最长连续 1 的长度是 8。

010101010101
3

解释: 把第3个位置的 0 变成 1,得到 011101010101,最长连续 1 的长度是 3。。

000000
1

解释: 只有一个 0 变成 1,所以最长连续段是 1。

【数据范围】

规定 s∣​s​∣表示字符串 s 的长度。 对于所有测试数据,保证:1s1061≤∣​s​∣≤10^6

测试点编号 s∣​s​∣ \leq 特殊性质
11 1010 A
242\sim 4
565\sim 6 100100 B
7107\sim 10 10610^6

特殊性质 A:保证输入的字符串全为1或全为0。

特殊性质 B:保证输入的字符串中不存在连续的1。