Processing math: 100%

3-й этап Республиканской олимпиады по информатике 2020-2021, 2 тура


Задача C. Разделяем на пары

Ограничение по времени:
1 секунда
Ограничение по памяти:
256 мегабайт

Есть массив a из n целых чисел. Для каждого k от 1 до n2, найдите k различных пар, что сумма абсолютных разностей пар была минимизирована. Более формально, выберите 2k различных индексов, и разбейте их на k пар (i1,j1),(i2,j2),,(ik,jk), чтобы значение |ai1aj1|+|ai2aj2|++|aikajk| было минимально.
Формат входного файла
В первой строке находятся одно целое число n (1<=n<=2105). Во второй строке находятся n целых чисел a1,a2,,an(1<=ai<=109).
Формат выходного файла
Выведите n2 целых чисел, где k-е число является ответом k пар.
Система оценки
Данная задача содержит 6 подзадач, в которых выполняются следующие ограничения:
  1. n<=11. Оценивается в 7 баллов.
  2. n<=18. Оценивается в 11 баллов.
  3. n<=500. Оценивается в 13 баллов.
  4. n<=5000. Оценивается в 15 баллов.
  5. ai<=5000. Оценивается в 13 баллов.
  6. Исходные условия задачи. Оценивается в 41 баллов.
Примеры:
Вход
6
1 3 5 8 13 21
Ответ
2 5 13
Вход
11
31 12 1 36 41 57 21 79 86 63 97
Ответ
5 11 18 27 39
( Narkhan Kamzabek )
посмотреть в олимпиаде

Комментарий/решение: