600104 - 二进制整数加除

这是一个简单的二进制问题,只有两种操作:

+1:二进制加1,当某一位为2时,向前进位。例如:1011变为1100。

/2:二进制除2,舍弃末位(小数点后不计)。例如:1010变为101。

给出一个长度为n的二进制,按如下规则操作,它最终将变为1:

若为奇数,则+1;若为偶数则/2。输出变为1所需要的步数。

输入

一行,一个n位的二进制。

对于100%的数据:

1\le n \le 10^6

数据保证最高位为1。

输出

一个整数,表示所需步数。

样例

输入

1

输出

0

输入

101010

输出

9

输入

110011

输出

9
时间限制 100 毫秒
内存限制 128 MB
统计
上一题 下一题