У вас есть перестановка — массив $$$a = [a_1, a_2, \ldots, a_n]$$$ из различных целых чисел от $$$1$$$ до $$$n$$$. Длина перестановки $$$n$$$ нечётна.
Рассмотрим следующий алгоритм сортировки перестановки по возрастанию.
Вспомогательная процедура алгоритма, $$$f(i)$$$, принимает на вход индекс $$$i$$$ ($$$1 \le i \le n-1$$$) и делает следующее. Если $$$a_i > a_{i+1}$$$, значения $$$a_i$$$ и $$$a_{i+1}$$$ меняются местами. В противном случае перестановка остаётся без изменений.
Алгоритм состоит из итераций, пронумерованных последовательными целыми числами, начиная с $$$1$$$. На $$$i$$$-й итерации алгоритм делает следующее:
Можно доказать, что после конечного числа итераций перестановка станет отсортирована по возрастанию.
Через сколько итераций это впервые произойдёт?
Во входных данных находятся несколько наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следуют наборы входных данных.
Первая строка набора входных данных содержит одно целое число $$$n$$$ ($$$3 \le n \le 2 \cdot 10^5 - 1$$$; $$$n$$$ нечётно) — длину перестановки.
Вторая строка содержит $$$n$$$ различных целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le n$$$) — саму перестановку.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5 - 1$$$.
Для каждого набора входных данных выведите число итераций, после которого заданная перестановка впервые окажется отсортирована по возрастанию.
Если заданная перестановка уже отсортирована, выведите $$$0$$$.
3 3 3 2 1 7 4 5 7 1 3 2 6 5 1 2 3 4 5
3 5 0
В первом наборе входных данных перестановка будет меняться следующим образом:
Во втором наборе входных данных перестановка будет меняться следующим образом:
В третьем наборе входных данных перестановка уже отсортирована, поэтому ответ равен $$$0$$$.
Название |
---|