Codeforces Round 704 (Div. 2) |
---|
Закончено |
У вас есть колода из $$$n$$$ карт, и вы хотите переупорядочить ее по-новому.
У каждой карты есть целое значение от $$$1$$$ по $$$n$$$ равное $$$p_i$$$. Все $$$p_i$$$ попарно различны. Карты в колоде пронумерованы снизу вверх, таким образом $$$p_1$$$ лежит внизу колоды, а $$$p_n$$$ — на самом верху.
Вы перекладываете колоду шаг за шагом. На каждом шаге вы выбираете некоторое целое $$$k > 0$$$, берете $$$k$$$ верхних карт из вашей колоды и кладете их, не меняя порядка, на верх новой колоды. Вы применяете данную операцию, пока ваша первоначальная колода не опустеет. (Для лучшего понимания изучите примечания к тестовым примерам.)
Назовем упорядоченностью колоды сумму $$$\sum\limits_{i = 1}^{n}{n^{n - i} \cdot p_i}$$$.
Для заданной колоды, определите колоду с максимально возможной упорядоченностью, которую вы можете получить, используя алгоритм, описанный выше.
В первой строке задано одно целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных.
В первой строке каждого набора задано одно целое число $$$n$$$ ($$$1 \le n \le 10^5$$$) — количество карт в колоде.
Во второй строке заданы $$$n$$$ целых чисел $$$p_1, p_2,\dots, p_n$$$ ($$$1 \le p_i \le n$$$; $$$p_i \neq p_j$$$ если $$$i \neq j$$$) — значения карт в колоде в порядке снизу вверх.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$10^5$$$.
Для каждого набора входных данных, выведите колоду с максимально возможной упорядоченностью. Выводите значения карт начиная с нижних в колоде.
Если существует несколько ответов, выведите любой из них.
4 4 1 2 3 4 5 1 5 2 4 3 6 4 2 5 3 6 1 1 1
4 3 2 1 5 2 4 3 1 6 1 5 3 4 2 1
В первом наборе входных данных одна из оптимальных стратегий — следующая:
Во втором наборе одна из оптимальных стратегий такая:
Во третьем наборе одна из оптимальных стратегий такая:
Название |
---|