加密
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

对于一个长度为 n 的 01 串,我们定义他的权重是该串内极长的全 1 子串的数量。这里“极长”指“无法再向两侧延伸”。

现在给定一个 01 串,你可以将其中的至多一位反转(可以不反转),请求出所有能得到的 01 串中,权重最小的 01 串的权重。

输入描述:

第一行一个 01 串,表示需要操作的串。

输出描述:

一行一个整数,表示求得的答案。

示例1

输入

复制
11000110

输出

复制
2

说明

原串有两个极长全 1 子串,分别是 [1,2] 和 [6,7]。可以发现,无论反转哪个位置,得到的串依然有两个极长全 1 子串。 
示例2

输入

复制
11001011

输出

复制
2

说明

原串有三个极长全 1 子串,分别是 [1,2], [5] 和 [7,8]。如果反转位置 6,得到的串是 11001111,有两个极长全 1 子串。 

备注:

对于100%的数据,保证