Codeforces Round 874 (Div. 3) |
---|
Закончено |
Вам дана перестановка $$$p$$$ длины $$$n$$$.
Перестановкой называется массив, состоящий из $$$n$$$ различных целых чисел от $$$1$$$ до $$$n$$$ в произвольном порядке. Например, $$$\{2,3,1,5,4\}$$$ является перестановкой, а $$$\{1,2,2\}$$$ не является ($$$2$$$ встречается дважды), и $$$\{1,3,4\}$$$ тоже не является перестановкой ($$$n=3$$$, но в массиве есть $$$4$$$).
К перестановке $$$p$$$ нужно ровно один раз применить следующую операцию:
Например, $$$n = 5, p = \{2, \color{blue}{3}, \color{blue}{1}, 5, 4\}$$$ и был выбран отрезок $$$[l = 2, r = 3]$$$, тогда после переворота отрезка $$$p = \{\color{green}{2}, \color{blue}{1}, \color{blue}{3}, \color{green}{5}, \color{green}{4}\}$$$, затем поменяются местами отрезки $$$[4, 5]$$$ и $$$[1, 1]$$$. Тогда $$$p = \{\color{green}{5}, \color{green}{4}, 1, 3, \color{green}{2}\}$$$. Можно показать, что это максимальный возможный ответ для данной перестановки.
Требуется вывести лексикографически максимальную перестановку, которую можно получить после применения ровно одной такой операции.
Перестановка $$$a$$$ лексикографически больше перестановки $$$b$$$, если существует $$$i$$$ ($$$1 \le i \le n$$$) такое, что $$$a_j = b_j$$$ для $$$1 \le j < i$$$ и $$$a_i > b_i$$$.
В первой строке входных данных задано единственное целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных в тесте.
Далее следуют описания наборов входных данных.
В первой строке набора задано одно целое число $$$n$$$ ($$$1 \le n \le 2000$$$) — размер перестановки.
Во второй строке задано $$$n$$$ целых чисел: $$$p_1, p_2, \ldots, p_n$$$ ($$$1 \le p_i \le n$$$) — сама перестановка $$$p$$$.
Гарантируется, что сумма значений $$$n$$$ по всем тестам не превышает $$$2000$$$.
Для каждого набора входных данных в отдельной строке выведите лексикографически максимальную перестановку длины $$$n$$$, которую можно получить из $$$p$$$, применив операцию, описанную в условии ровно один раз.
952 3 1 5 494 1 6 7 2 8 5 3 944 3 2 122 163 2 4 1 5 673 2 1 5 7 6 41010 2 5 6 1 9 3 8 4 744 2 1 311
5 4 1 3 2 9 4 1 6 7 2 8 5 3 3 2 1 4 1 2 6 5 3 2 4 1 7 6 4 5 3 2 1 9 3 8 4 7 1 10 2 5 6 3 4 2 1 1
Первый пример разобран в условии.
Во втором примере следует выбрать отрезок $$$[l = 9, r = 9]$$$.
В третьем примере следует выбрать отрезок $$$[l = 1, r = 1]$$$.
В четвертом примере следует выбрать отрезок $$$[l = 1, r = 2]$$$.
В пятом примере следует выбрать отрезок $$$[l = 5, r = 6]$$$.
В шестом примере следует выбрать отрезок $$$[l = 4, r = 4]$$$.
В седьмом примере следует выбрать отрезок $$$[l = 5, r = 5]$$$.
Название |
---|