Codeforces Round 967 (Div. 2) |
---|
Закончено |
В последовательности целых чисел $$$a$$$ длины $$$n$$$ каждый элемент изначально равен $$$-1$$$.
У Мизуки есть две пишущие машинки, первая из которых пишет слева направо с указателем, изначально указывающим на $$$1$$$, а вторая пишет буквы справа налево с указателем, изначально указывающим на $$$n$$$.
Мизуки выбирает одну из пишущих машинок и выполняет с ней следующие операции, пока $$$a$$$ не превратится в перестановку элементов $$$[1, 2, \ldots, n]$$$:
Ваша задача — построить любую перестановку $$$p$$$ длины $$$n$$$, такую, чтобы минимальное количество операций возврата каретки, необходимое для того, чтобы получить $$$a = p$$$, было одинаковым независимо от того, какой машинкой пользуется Мизуки.
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 500$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — длина перестановки.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите строку из $$$n$$$ целых чисел, представляющих перестановку $$$p$$$ длины $$$n$$$, такую, что минимальное количество операций возврата каретки, необходимое для того, чтобы получить $$$a = p$$$, было одинаковым независимо от того, какой пишущей машинкой пользуется Мизуки, или $$$-1$$$, если это невозможно.
Если существует несколько допустимых перестановок, вы можете вывести любую из них.
3 1 2 3
1 -1 3 1 2
В первом наборе входных данных можно сделать $$$a = p = [1]$$$, используя $$$0$$$ операций возврата каретки.
Для второго набора входных данных найдем необходимое количество возвратов каретки, чтобы получить $$$a = p = [1, 2]$$$.
Если Мизуки использует первую пишущую машинку:
Если Мизуки использует вторую пишущую машинку:
Можно доказать, что минимальное количество возвратов каретки, необходимое для преобразования $$$a$$$ в $$$p$$$ при использовании первой пишущей машинки, равно $$$0$$$, а при использовании второй — $$$1$$$, поэтому данная перестановка не удовлетворяет условию.
Аналогично, $$$p = [2, 1]$$$ также не является допустимой, поэтому для $$$n = 2$$$ решения не существует.
В третьем примере можно сделать $$$a = p = [3, 1, 2]$$$, требующую $$$1$$$ возврат каретки с использованием первой или второй пишущей машинки. Можно показать, что нельзя записать $$$p$$$ используя $$$0$$$ возвратов каретки.
С помощью первой пишущей машинки можно записать перестановку так:
Используя вторую машинку, можно сделать так:
Название |
---|