Codeforces Round 868 (Div. 2) |
---|
Закончено |
Определим перестановкой длины $$$n$$$ массив $$$p$$$ длины $$$n$$$, в котором каждое число от $$$1$$$ до $$$n$$$ встречается единожды.
Вам дана перестановка $$$p_1, p_2, \dots, p_n$$$ и число $$$k$$$. Вам необходимо отсортировать перестановку в возрастающем порядке. Для этого вы можете выполнить следующую операцию любое количество раз (возможно, ни разу):
К сожалению, некоторые перестановки не могут быть отсортированы для некоторых $$$k$$$. Например, невозможно отсортировать $$$[2, 4, 3, 1]$$$ для $$$k = 2$$$.
Поэтому, перед началом сортировки, вы можете выполнить не более одного предварительного обмена:
Ваша задача проверить:
Например, если $$$k = 2$$$ и дана перестановка $$$[2, 4, 3, 1]$$$, то вы можете выполнить предварительный обмен $$$p_1$$$ и $$$p_4$$$, что даст перестановку $$$[1, 4, 3, 2]$$$, которую уже можно отсортировать для данного $$$k$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$k$$$ ($$$2 \le n \le 2 \cdot 10^5$$$; $$$1 \le k \le n - 1$$$) — длина перестановки, и расстояние между элементами, которые можно обменивать.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$p_1, p_2, \dots, p_n$$$ ($$$1 \le p_i \le n$$$) — элементы перестановки $$$p$$$.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10 ^ 5$$$.
Для каждого набора входных данных выведите
64 13 1 2 44 23 4 1 24 23 1 4 210 34 5 9 1 8 6 10 2 3 710 34 6 9 1 8 5 10 2 3 710 34 6 9 1 8 5 10 3 2 7
0 0 1 0 1 -1
В первом наборе предварительный обмен не нужен, так как можно обменять местами $$$(p_1, p_2)$$$ и затем $$$(p_2, p_3)$$$.
Во втором наборе предварительный обмен не нужен, так как можно обменять местами $$$(p_1, p_3)$$$ и затем $$$(p_2, p_4)$$$.
В третьем наборе необходимо применить предварительный обмен к $$$(p_2, p_3)$$$, после чего перестановка становится $$$[3, 4, 1, 2]$$$, которую уже возможно отсортировать для $$$k = 2$$$.
Название |
---|