Ctrl K

Отрезки с точным AND

Сложная
Дан массив неотрицательных целых чисел values и число goal. Отрезок — это непустая последовательность подряд идущих элементов массива. Верните количество отрезков, у которых побитовое И (AND) всех элементов равно ровно goal. Отрезки, совпадающие по значениям, но стоящие на разных местах, считаются разными.
Пример 1
values=[7, 6, 14, 6], goal=6 → 8

AND равен 6 у отрезков [6], [6], [7, 6], [6, 14], [14, 6], [6, 14, 6], [7, 6, 14] и [7, 6, 14, 6] — всего 8.

Пример 2
values=[3, 5, 3], goal=1 → 3

3 AND 5 = 1, поэтому подходят [3, 5], [5, 3] и [3, 5, 3]; одиночные элементы равны 3 или 5.

Пример 3
values=[4, 8], goal=2 → 0
Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • 0 ≤ values[i], goal ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПобитовое И отрезка поближе к цели СложнаяКуски с заданным AND и дешёвые хвосты СложнаяОкно с OR ближе всего к цели СложнаяМеньшие справа СложнаяСуммы отрезков в заданной полосе Сложная
загружаем Python…
Вход
values=[7, 6, 14, 6], goal=6
Ожидается
8

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