0へのビット反転 - 応用
任意の数に対して、その2進数表現にビット反転操作を繰り返し適用すると、最終的に0にできます。
たとえば、5 = 101 の場合、まずビット反転すると 10(先頭の0を省略)→ 次に反転すると 1 → さらに反転すると 0 となり、合計3回のビット反転操作で0へ到達します。
今回は、非常に長いビット列を0にするために必要なビット反転操作の回数を求める問題です。
入力
入力は1行で、ビット列
s
を表します (1 ≤ |s| ≤ )。 出力
s
を0にするために必要なビット反転操作の回数を表す整数を1つ出力してください。 例
入力 | 出力 |
111111000111110011100 | 6 |
解説
111111000111110011100 → 111000001100011 → 111110011100 → 1100011 → 11100 → 11 → 0
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB