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

Задача . B. Майк и дети


Майк решил преподавать программирование детям в младших классах. Он знает, что не так-то просто заинтересовать детей программированием в этом возрасте. Вот почему он решил дать каждому из них две конфеты.

У Майка есть \(n\) конфет, размеры которых \(a_1, a_2, \ldots, a_n\). Все его конфеты имеют разные размеры. То есть не существует такой пары \((i, j)\) (\(1 \leq i, j \leq n\)), что \(i \ne j\) и \(a_i = a_j\).

Поскольку Майк преподает уже много лет, он знает, что если он даст две конфеты с размерами \(a_i\) и \(a_j\) одному ребенку, а \(a_k\) и \(a_p\) другому, где \((a_i + a_j) \neq (a_k + a_p)\), то ребенок, у которого меньшая сумма размеров конфет, будет расстроен. То есть, если есть двое детей, у которых разные суммы размеров конфет, то один из них будет расстроен. Очевидно, что Майк не хочет, чтобы кто-то расстраивался.

Майк хочет пригласить детей, давая каждому из них две конфеты. Очевидно, он не может дать одну и туже конфету двум или более детям. Его цель — пригласить как можно больше детей.

Поскольку Майк занят подготовкой к своей первой лекции в младших классах, он просит вас найти максимальное количество детей, которых он может пригласить, давая каждому из них две конфеты таким образом, чтобы никто не расстроился.

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

Первая строка содержит одно целое число \(n\) (\(2 \leq n \leq 1\,000\)) — количество конфет у Майка.

Вторая строка содержит \(n\) целых чисел \(a_1, a_2, \ldots, a_n\) (\(1 \leq a_i \leq 10^5\)) — размеры конфет. Гарантируется, что все размеры разные.

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

Выведите одно целое число — максимальное количество детей, которых Майк может пригласить, давая каждому из них две конфеты таким образом, чтобы никто не расстроился.

Примечание

В первом примере Майк может дать \(9+2=11\) первому ребенку, \(8+3=11\) второму и \(7+4=11\) третьему. Поэтому Майк может пригласить три ребенка. Обратите внимание, что это не единственное решение.

Во втором примере Майк может дать \(3+9=12\) первому ребенку и \(1+11\) второму. Поэтому Майк может пригласить два ребенка. Обратите внимание, что это не единственное решение.


Примеры
Входные данныеВыходные данные
1 8
1 8 3 11 4 9 2 7
3
2 7
3 1 7 11 9 2 12
2

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

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