start и shift. За один ход можно выбрать целое i от 0 до 60 и вычесть из start число 2^i + shift.
Верните наименьшее число ходов, после которого start станет равно нулю, или -1, если это невозможно.start=7, shift=1 → 2
За один ход степень двойки должна равняться 7 − 1 = 6, а 6 — не степень двойки. За два хода две степени двойки должны дать 7 − 2 = 5 = 4 + 1: вычитаем 4 + 1 = 5 и 1 + 1 = 2. Ответ 2.
start=4, shift=5 → -1
Даже самый маленький вычитаемый 2⁰ + 5 = 6 больше 4, а число только уменьшается — до нуля не дойти.
start=12, shift=-4 → 1
start=7, shift=1
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 111 тестов на сервере, включая скрытые.