#XMOJ11881. 吃苹果
吃苹果
说明
时间限制:1 Sec
内存限制:256 MB
输入文件:apple.in 输出文件:apple.out
你的面前有一个盘子,盘子里有 $N$ 个苹果。
重复执行下面两种操作之一,把盘子变为空,求最少操作次数。操作可以以任意顺序执行。
- 选择一个非负整数 $k$,吃掉盘子里 $2^k$ 个苹果。当盘子中苹果不足 $2^k$ 个时,不能执行该操作。
- 选择一个非负整数 $k$,向盘子中加入 $2^k$ 个苹果。
输入格式
输入一行,给出 $N$。
输出格式
输出最小操作次数。
样例
样例 1
101
2
样例说明:
一共有 个苹果,可以按如下操作:
- 吃掉 $2^2=4$ 个苹果
- 吃掉 $2^0=1$ 个苹果
样例 2
111
2
样例说明:
个苹果,先加 个苹果,再一次性吃掉 个。
样例 3
11110101101110110001100
8
数据范围
对于 30% 的数据,$N \le 2^{10}$。
对于 100% 的数据,$1 \le N \lt 2^{200000}$,$N$ 以不带前导零的二进制字符串形式给出。
相关
在下列比赛中: