Score : $900$ points
We have a permutation $P = P_0, P_1, \ldots, P_{N - 1}$ of $0, 1, \ldots, N - 1$.
You can do the following operation on $P$ at most $2 \times 10^5$ times:
Your task is to sort $P$ in ascending order with this operation.
If it is impossible, print -1
instead.
Input is given from Standard Input in the following format:
$N$ $P_0$ $P_1$ $\ldots$ $P_{N - 1}$
If it is impossible to sort $P$ in ascending order with at most $2 \times 10^5$ operations, print -1
.
Otherwise, print $K + 1$ lines to represent a sequence of operations that sorts $P$ in ascending order, where $K$ is the number of operations done, as follows:
You do not have to minimize the number of operations done. If there are multiple such sequences of at most $2 \times 10^5$ operations, any of them will be accepted.
8 7 1 2 6 4 0 5 3
4 6 0 3 0
This sequence of operations sorts $P$ in ascending order, as follows:
First, announce $i = 6$. We swap $P_6 (= 5)$ and $P_{(6 + 5) \textrm{ mod } 8} = P_3 (= 6)$, turning $P$ into $7, 1, 2, 5, 4, 0, 6, 3$.
Then, announce $i = 0$. We swap $P_0 (= 7)$ and $P_{(0 + 7) \textrm{ mod } 8} = P_7 (= 3)$, turning $P$ into $3, 1, 2, 5, 4, 0, 6, 7$.
Then, announce $i = 3$. We swap $P_3 (= 5)$ and $P_{(3 + 5) \textrm{ mod } 8} = P_0 (= 3)$, turning $P$ into $5, 1, 2, 3, 4, 0, 6, 7$.
Finally, announce $i = 0$. We swap $P_0 (= 5)$ and $P_{(0 + 5) \textrm{ mod } 8} = P_5 (= 0)$, turning $P$ into $0, 1, 2, 3, 4, 5, 6, 7$.