406878: GYM102591 F Разделение на пары

Memory Limit:0 MB Time Limit:0 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

F. Разделение на парыограничение по времени на тест1 секундаограничение по памяти на тест256 мегабайтвводстандартный вводвыводстандартный вывод

Есть $$$n$$$ студентов. У каждого студента есть уровень силы в олимпиадах. Причем у всех студентов уровни силы различные. Сила $$$i$$$-го студента равна $$$s_i$$$. Проводится парная олимпиада. Студентов нужно разбить на пары. Если $$$i$$$-й студент и $$$j$$$-й студент будут в одной паре, то сила их пары будет $$$min(s_i, s_j)$$$. Вы хотите разбить студентов так, чтобы сумма сил пар была максимальной. Каждый студент может быть максимум в одной паре. К несчастью, $$$n$$$ - нечетно. В любом случае один из студентов останется без пары. Для каждого студента вы хотите найти максимальную сумму разбиения на пары, в случае если этот студент останется без пары.

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

В первой строке задано одно целое число $$$n$$$ $$$(3 \le n \le 3 * 10^5$$$, $$$n$$$ - нечетно) – количество студентов. Во второй строке задан массив $$$s$$$ – сила студентов. Для каждого $$$i$$$ от $$$1$$$ до $$$n$$$ выполняется $$$(1 \le s_i \le 10^9)$$$. Гарантируется, что все числа в массиве $$$s$$$ различные.

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

Выведите $$$n$$$ целых чисел. $$$i$$$-ое из них – ответ на задачу, если $$$i$$$-й студент останется без команды.

ПримерВходные данные
3
3 1 2
Выходные данные
1 2 1 

加入题单

算法标签: