Ctrl K

Самое короткое яркое окно

Лёгкая
Дан массив неотрицательных целых чисел lamps и число need. Назовём непрерывный непустой отрезок массива ярким, если побитовое ИЛИ всех его элементов не меньше need. Верните длину самого короткого яркого отрезка. Если ярких отрезков нет, верните -1.
Пример 1
lamps=[4, 1, 2, 5], need=7 → 2

Ни одно число само по себе не достигает 7, а отрезок [2, 5] даёт 2 | 5 = 7, поэтому ответ 2.

Пример 2
lamps=[1, 2, 4], need=7 → 3

Только весь массив целиком даёт 1 | 2 | 4 = 7, поэтому ответ 3.

Пример 3
lamps=[3, 3], need=4 → -1

Побитовое ИЛИ любых элементов равно 3, до 4 не дотянуть — ответ -1.

Ограничения
  • 1 ≤ len(lamps) ≤ 50
  • 0 ≤ lamps[i] ≤ 10⁹
  • 0 ≤ need ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиXOR близкой пары ЛёгкаяЗажечь все лампы окном СложнаяОкно без конфликтующих флагов СредняяКратчайший отрезок с полным OR СредняяНаибольший XOR близкой пары Сложная
загружаем Python…
Вход
lamps=[4, 1, 2, 5], need=7
Ожидается
2

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