Ctrl K

Самый длинный отрезок с наибольшим AND

Средняя
Дан массив положительных целых чисел values. Для любого непустого отрезка (подряд идущих элементов) можно посчитать побитовое AND всех его чисел. Пусть k — наибольшее значение побитового AND, какое вообще достигается на каком-нибудь отрезке массива. Среди отрезков, у которых AND равно ровно k, найдите самый длинный и верните его длину.
Пример 1
values=[5, 7, 7, 3, 7] → 2

Наибольшее возможное AND отрезка — 7, ведь AND не может превысить ни одно из своих чисел. Отрезок [7, 7] даёт 7 и имеет длину 2; одиночная 7 в конце короче.

Пример 2
values=[6, 4, 2] → 1

Лучшее значение — 6, и даёт его только отрезок из одного элемента: 6 AND 4 = 4.

Пример 3
values=[9, 9, 9] → 3

Весь массив состоит из девяток, его AND равно 9 — это и есть максимум.

Ограничения
  • 1 ≤ values.length ≤ 10⁵
  • 1 ≤ values[i] ≤ 2³¹ − 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиБери из любой кучки СредняяXOR всех перекрёстных пар СредняяИЛИ всех сумм подмножеств СредняяПервое недостижимое OR СредняяДуэль на стирание с XOR Сложная
загружаем Python…
Вход
values=[5, 7, 7, 3, 7]
Ожидается
2

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