E. Извлечь k максимумов
2000 мс · 256 МБ · всё или ничего
Дана куча размера . Извлеките из неё максимумов той же процедурой, что в классе: последний элемент в корень, размер минус один, просеивание вниз.
Выведите извлечённые значения и кучу в конечном состоянии.
Отличие от классной задачи - в том, что извлечений не , а сколько попросят, и вывести надо не индексы, а сами значения и остаток кучи. Проверять это будет строже: если размер уменьшается не в тот момент, конечная куча окажется другой, даже если извлечённые значения совпадут.
Если равно , куча в конце пуста - выведите пустую строку.
Формат ввода
В первой строке - числа и ().
Во второй - куча из различных целых чисел.
Формат вывода
В первой строке - извлечённых значений в порядке извлечения.
Во второй - куча в конечном состоянии.
Примеры
ввод
6 2 12 6 8 3 4 7
вывод
12 8 7 6 4 3
ввод
1 1 5
вывод
5
Войдите, чтобы отправлять решения.