Codeforces Round 398 (Div. 2) |
---|
Закончено |
Согласно древней легенде, давным-давно жители Анк-Морпорка провинились перед Госпожой Удачей, и та прокляла их. Она сказала, что однажды на город упадут n снеков разных размеров, а жители должны будут составить их в один большой Снековик. При этом, естественно, внизу должны будут быть самые большие снеки, а наверху — самые маленькие.
Прошли годы, и однажды на город стали действительно падать самые разнообразные снеки — от огромных Кендер-сюр до маленьких Что-по-чёмс. И жители города принялись строить из них Снековика.
Правда, их поджидала одна неприятность. Каждый день на город выпадал один снек, но падали они в каком-то странном порядке. Поэтому жители не всегда могли водрузить очередной снек на вершину Снековика; иногда им приходилось выпавший только что снек откладывать до тех пор, пока не выпадут все снеки больше его. Конечно, чтобы не разозлить Госпожу Удачу, жители все-таки устанавливали каждый снек, как только для того появлялась возможность.
Напишите программу, которая будет моделировать деятельность жителей города по постройке Снековика.
В первой строке находится одно натуральное число n (1 ≤ n ≤ 100 000) — общее количество снеков, которые выпадут в городе.
Во второй строке находятся n чисел, i-е из которых равно размеру снека, выпадающего в i-й день. Все размеры — различные натуральные числа от 1 до n.
Выведите в выходной файл n строк. На i-й из них выведите размеры всех снеков, которые будут установлены на снековик в i-й день, в том порядке, в котором они будут установлены. Если в какой-то день не будет установлен ни один снек, оставьте соответствующую строку выходного файла пустой.
3
3 1 2
3
2 1
5
4 5 1 2 3
5 4
3 2 1
В примере в первый день выпадает снек размера 3, и его сразу можно устанавливать. Во второй день выпадает снек размера 1, его устанавливать еще нельзя, т.к. снек размера 2 пока отсутствует. В третий день выпадает снек размера 2, его тут же устанавливают, после чего устанавливают выпавший ранее снек размера 1.
Название |
---|