Codeforces Round 201 (Div. 2) |
---|
Закончено |
Вы хотите выстроить в ряд n целых чисел a1, a2, ..., an в некотором порядке. Назовем стоимостью расположения сумму разностей между всеми парами соседних чисел.
Более формально, обозначим некоторое расположение чисел в строке последовательностью x1, x2, ..., xn, где x — это перестановка последовательности a. Стоимость такого расположения x — это (x1 - x2) + (x2 - x3) + ... + (xn - 1 - xn).
Найдите наибольшую возможную стоимость расположения. После этого выведите лексикографически наименьшую последовательность x, соответствующую некоторому расположению с наибольшей возможной стоимостью.
В первой строке записано целое число n (2 ≤ n ≤ 100). Во второй строке записано n целых чисел через пробел a1, a2, ..., an (|ai| ≤ 1000).
Выведите требуемую последовательность x1, x2, ..., xn. Последовательность x должна быть лексикографически наименьшей перестановкой a, соответствующей некоторому расположению с наибольшей возможной стоимостью.
5
100 -100 50 0 -50
100 -50 0 50 -100
В примере стоимость выведенного расположения равна (100 - ( - 50)) + (( - 50) - 0) + (0 - 50) + (50 - ( - 100)) = 200. Не существует расположения с большей стоимостью, а среди всех расположений со стоимостью 200 выведенное является лексикографически наименьшим.
Последовательность x1, x2, ... , xp лексикографически меньше последовательности y1, y2, ... , yp, если существует такое число r (0 ≤ r < p), что x1 = y1, x2 = y2, ... , xr = yr и xr + 1 < yr + 1.
Название |
---|