EduBrick

C. Построение кучи

2000 мс · 256 МБ · всё или ничего

Дан произвольный массив. Превратите его в максимальную кучу и выведите результат.

Чтобы ответ был однозначным, требуется конкретный алгоритм: пройти по индексам от ⌊N/2⌋\lfloor N/2 \rfloor до 1 и для каждого выполнить просеивание вниз.

Формат ввода

В первой строке - число NN (1≤N≤1051 \le N \le 10^5).

Во второй - NN целых чисел, по модулю не превосходящих 10910^9. Числа могут повторяться.

Формат вывода

Одна строка - куча после построения указанным алгоритмом.

Примеры

ввод
5
1 2 3 4 5
вывод
5 4 3 1 2
ввод
1
7
вывод
7
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.