Олимпиадный тренинг

Задача . E. Скучающий Бакри


Бакри надоело решать задачи, связанные с xor, поэтому он попросил вас решить для него эту задачу.

Вам дан массив \(a\) из \(n\) целых чисел \([a_1, a_2, \ldots, a_n]\).

Назовем подмассив \(a_{l}, a_{l+1}, a_{l+2}, \ldots, a_r\) хорошим, если \(a_l \, \& \, a_{l+1} \, \& \, a_{l+2} \, \ldots \, \& \, a_r > a_l \oplus a_{l+1} \oplus a_{l+2} \ldots \oplus a_r\), где \(\oplus\) обозначает операцию побитового исключающего ИЛИ, \(\&\) обозначает операцию побитового И.

Найдите длину самого длинного хорошего подмассива \(a\), или определите, что такого подмассива не существует.

Входные данные

Первая строка содержит одно целое число \(n\) (\(1 \le n \le 10^6\)) — длину массива.

Вторая строка содержит \(n\) целых чисел \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le 10^6\)) — элементы массива.

Выходные данные

Выведите одно целое число — длину самого длинного хорошего подмассива. Если хороших подмассивов нет, выведите \(0\).

Примечание

В первом случае ответ равен \(2\), так как весь массив хороший: \(5 \& 6 = 4 > 5 \oplus 6 = 3\).

В третьем случае ответ равен \(4\), и один из самых длинных хороших подмассивов - \([a_2, a_3, a_4, a_5]\): \(1\& 3 \& 3 \&1 = 1 > 1\oplus 3 \oplus 3\oplus 1 = 0\).


Примеры
Входные данныеВыходные данные
1 2
5 6
2
2 3
2 4 3
0
3 6
8 1 3 3 1 2
4

time 4000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя