No.884 Eat and Add
レベル : / 実行時間制限 : 1ケース 1.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 150
作問者 : QCFium / テスター : e869120
タグ : / 解いたユーザー数 150
作問者 : QCFium / テスター : e869120
問題文最終更新日: 2019-09-02 13:42:11
問題文
あなたの前に1つの皿があり、りんごが$N$個あります。
以下のどちらかの操作を繰り返して皿を空にするとき、操作回数の最小値を求めてください。2つの操作はどのような順番で行っても構いません。
- 非負整数$k$を選び、皿から$2^k$個のりんごを食べる。皿に$2^k$個以上のりんごがない場合この操作はできない。
- 非負整数$k$を選び、皿に$2^k$個のりんごを追加する。
入力
$N$
$1 \le N \lt 2^{200000}$
$N$は整数で、先頭に余計な0を含まない2進数で与えられる。
出力
操作回数の最小値を出力してください。 最後に改行してください。
サンプル
サンプル1
入力
101
出力
2
5個のりんごがあり、例えば次のように操作すれば良いです。
- $2^2=4$個のりんごを食べる
- $2^0=1$個のりんごを食べる
サンプル2
入力
111
出力
2
7個のりんごに1個追加してから8個食べれば良いです。
サンプル3
入力
11110101101110110001100
出力
8
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。