Олимпиадный тренинг

Задача . A. Перестановки-близнецы


Задача

Темы: Конструктив *800

Дана перестановка\(^\dagger\) \(a\) длины \(n\).

Найдите любую перестановку \(b\) длины \(n\) такую, что \(a_1+b_1 \le a_2+b_2 \le a_3+b_3 \le \ldots \le a_n+b_n\).

Можно доказать, что перестановка \(b\), удовлетворяющая указанному условию, всегда существует.

\(^\dagger\) Перестановкой длины \(n\) называется массив из \(n\) различных целых чисел от \(1\) до \(n\) в произвольном порядке. Например, \([2,3,1,5,4]\) — это перестановка, а \([1,2,2]\) — не перестановка (число \(2\) встречается дважды в массиве), и \([1,3,4]\) также не является перестановкой (\(n=3\), но в массиве есть число \(4\)).

Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число \(t\) (\(1 \le t \le 2000\)) — количество наборов. Затем следует описание наборов.

Первая строка каждого набора входных данных содержит одно целое число \(n\) (\(1 \le n \le 100\)) — длину перестановок \(a\) и \(b\).

Вторая строка каждого набора содержит \(n\) различных целых чисел \(a_1,a_2,\ldots,a_n\) (\(1 \le a_i \le n\)) — элементы перестановки \(a\). Все элементы \(a\) различны.

Обратите внимание, что нет ограничений на сумму \(n\) по всем наборам входных данных.

Выходные данные

Для каждого набора входных данных выведите любую перестановку \(b\), которая удовлетворяет условиям. Можно доказать, что искомая перестановка \(b\), всегда существует.

Примечание

В первом наборе входных данных \(a=[1, 2, 4, 5, 3]\). Тогда перестановка \(b=[1, 2, 4, 3, 5]\) удовлетворяет условию, так как \(1 + 1 \le 2 + 2 \le 4 + 4 \le 5 + 3 \le 3 + 5\).


Примеры
Входные данныеВыходные данные
1 5
5
1 2 4 5 3
2
1 2
1
1
3
3 2 1
4
1 4 3 2
1 2 4 3 5
2 1
1
1 2 3
1 2 3 4

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя