Дополнение к 0 — расширенный вариант
Мы можем свести любое число к 0, многократно применяя к нему операцию дополнения в двоичной форме:
5 = 101 → 10 → 1 → 0 ⇒ 3 операции дополнения.
На этот раз вам нужно вычислить, сколько таких операций потребуется, чтобы свести к 0 действительно большие двоичные строки.
Входные данные
Во входных данных содержится одна строка, представляющая двоичную строку
s
(1 ≤ |s| ≤ ). Выходные данные
Выведите одно целое число — количество операций дополнения, необходимых, чтобы преобразовать
s
в 0. Примеры
Ввод | Вывод |
111111000111110011100 | 6 |
Пояснение
111111000111110011100 → 111000001100011 → 111110011100 → 1100011 → 11100 → 11 → 0
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB