Ctrl K

Щит снова выключен

Средняя
На щите есть ряд выключателей, пронумерованных с нуля. Каждое число в массиве presses описывает одно нажатие: если в двоичной записи числа стоит единица в разряде b, нажатие переключает выключатель b (вкл ↔ выкл). Нулевой разряд — самый младший. Возьмём непрерывный отрезок нажатий и выполним его на полностью выключенном щите. Отрезок называется *сбрасывающим*, если после него щит снова полностью выключен. Верните количество сбрасывающих отрезков в presses.
Пример 1
presses=[5, 3, 6, 1] → 1

5 = 101₂, 3 = 011₂, 6 = 110₂. Нажатия [5, 3, 6] переключают каждый выключатель ровно дважды — щит снова тёмный. Других таких отрезков нет.

Пример 2
presses=[0, 4, 4] → 3

Подходят [0], [4, 4] и [0, 4, 4].

Пример 3
presses=[1, 2, 4] → 0
Ограничения
  • 1 ≤ len(presses) ≤ 10⁵
  • 0 ≤ presses[i] ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПалиндром после пары правок СредняяРазрез на равные по XOR половины СредняяСамый длинный отрезок с заданной суммой СредняяСамая непохожая пара СредняяВсе неубывающие подпоследовательности Средняя
загружаем Python…
Вход
presses=[5, 3, 6, 1]
Ожидается
1

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 119 тестов на сервере, включая скрытые.