lamps: 1 — лампа горит, 0 — погашена.
Есть переключатель, который меняет состояние сразу трёх соседних ламп: горевшие гаснут, погашенные загораются. Нажимать его можно сколько угодно раз и на любой тройке подряд идущих ламп.
Верните наименьшее число нажатий, после которого горят все лампы, или -1, если зажечь весь ряд невозможно.lamps=[1, 0, 0, 0, 1] → 1
Одно нажатие на лампы 1–3 — и весь ряд горит.
lamps=[0, 0, 1, 1, 0, 1] → -1
Нажимаем на 0–2: [1, 1, 0, 1, 0, 1]. Затем на 2–4: [1, 1, 1, 0, 1, 1]. Затем на 3–5: всё горит. Итого 3.
lamps=[1, 1, 0, 1] → -1
Лампу 0 меняет только тройка 0–2, поэтому её нажимают чётное число раз. Лампу 1 меняют тройки 0–2 и 1–3, значит и 1–3 нажимают чётное число раз. Тогда лампа 2 ни разу не изменится по итогу и останется погашенной.
lamps=[1, 0, 0, 0, 1]
1
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 112 тестов на сервере, включая скрытые.