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

Задача . D. Фибоначчиеватость


Яш недавно узнал о числах Фибоначчи. Он так обрадовался этому знанию, что решил называть произвольную последовательность фибоначчиеватой, если

  1. последовательность состоит хотя бы из двух элементов;
  2. f0 и f1 произвольные;
  3. fn + 2 = fn + 1 + fn при всех n ≥ 0.

Вам дана последовательность целых чисел a1, a2, ..., an. Вам требуется переставить элементы последовательности таким образом, чтобы как можно более длинный её префикс был фибоначчиеватой последовательностью.

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

В первой строке входных данных записано единственное число n (2 ≤ n ≤ 1000) — длина последовательности ai.

Во второй строке записаны n целых чисел a1, a2, ..., an (|ai| ≤ 109).

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

Выведите количество элементов в самом длинном возможном фибоначчиеватом префиксе после перестановки элементов.

Примечание

В первом примере, если переставить элементы исходной последовательности следующим образом  - 1, 2, 1, то вся последовательность ai будет фибоначчиеватой.

Во втором примере оптимальным способом переставить элементы является , , , , 28.


Примеры
Входные данныеВыходные данные
1 3
1 2 -1
3
2 5
28 35 7 14 21
4

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

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