Суши для двоих
Аркадий пригласил Анну на ужин в суши-ресторан. Ресторан немного необычный: на выбор клиенту предлагаются n суши, выложенных в ряд, а клиент должен заказать себе некоторый подотрезок из подряд идущих суши.
Суши бывают двух видов: либо с тунцом, либо с угрем. Обозначим тип i-го слева суши как t[i]
, где t[i]
= 1 обозначает, что это суши с тунцом, а t[i]
= 2 означает, что оно с угрем.
Аркадий не любит суши с тунцом, Анна не любит суши с угрем. Аркадий хочет выбрать последовательный подотрезок суши так, чтобы в нем было поровну суши обоих типов, и каждая половина отрезка содержала только суши одного типа. Например, подотрезок [2, 2, 2, 1, 1, 1] подходит, а подотрезок [1, 2, 1, 2, 1, 2] — нет, потому что в обеих половинах есть суши обоих типов.
Найдите длину наибольшего подотрезка из подряд идущих суши, который может заказать Аркадий.
Входные данные
Первая строка содержит одно целое число n (2 ≤ n ≤ 100000) - количество суши.
Вторая строка содержит n целых чисел t[1]
, t[2]
, ..., t[n]
(t[i]
= 1, что означает суши с тунцом, или t[i]
= 2, что означает суши с угрем), обозначающие типы суши слева направо.
Гарантируется, что есть хотя бы одно суши каждого из типов. Обратите внимание, это означает, что существует по крайней мере один подходящий Аркадию подотрезок.
Выходные данные
Выведите одно целое число - максимально возможную длину подходящего Аркадию отрезка из подряд идущих суши.
Пример
В первом примере Аркадий может выбрать подотрезок [2, 2, 1, 1] или подотрезок [1, 1, 2, 2], длина которых 4.
Во втором примере невозможно выбрать что-то другое, кроме [2, 1] или [1, 2], длина которых 2.
В третьем примере лучший выбор Аркадия — подотрезок [1, 1 ,1, 2, 2, 2].