Codeforces Round 842 (Div. 2) |
---|
Finished |
You are given an array $$$a$$$ of $$$n$$$ integers.
Find two permutations$$$^\dagger$$$ $$$p$$$ and $$$q$$$ of length $$$n$$$ such that $$$\max(p_i,q_i)=a_i$$$ for all $$$1 \leq i \leq n$$$ or report that such $$$p$$$ and $$$q$$$ do not exist.
$$$^\dagger$$$ A permutation of length $$$n$$$ is an array consisting of $$$n$$$ distinct integers from $$$1$$$ to $$$n$$$ in arbitrary order. For example, $$$[2,3,1,5,4]$$$ is a permutation, but $$$[1,2,2]$$$ is not a permutation ($$$2$$$ appears twice in the array), and $$$[1,3,4]$$$ is also not a permutation ($$$n=3$$$ but there is $$$4$$$ in the array).
The first line contains a single integer $$$t$$$ ($$$1 \le t \le 10^4$$$) — the number of test cases. The description of test cases follows.
The first line of each test case contains a single integer $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$).
The second line of each test case contains $$$n$$$ integers $$$a_1,a_2,\ldots,a_n$$$ ($$$1 \leq a_i \leq n$$$) — the array $$$a$$$.
It is guaranteed that the total sum of $$$n$$$ over all test cases does not exceed $$$2 \cdot 10^5$$$.
For each test case, if there do not exist $$$p$$$ and $$$q$$$ that satisfy the conditions, output "NO" (without quotes).
Otherwise, output "YES" (without quotes) and then output $$$2$$$ lines. The first line should contain $$$n$$$ integers $$$p_1,p_2,\ldots,p_n$$$ and the second line should contain $$$n$$$ integers $$$q_1,q_2,\ldots,q_n$$$.
If there are multiple solutions, you may output any of them.
You can output "YES" and "NO" in any case (for example, strings "yEs", "yes" and "Yes" will be recognized as a positive response).
31155 3 4 2 521 1
YES 1 1 YES 1 3 4 2 5 5 2 3 1 4 NO
In the first test case, $$$p=q=[1]$$$. It is correct since $$$a_1 = max(p_1,q_1) = 1$$$.
In the second test case, $$$p=[1,3,4,2,5]$$$ and $$$q=[5,2,3,1,4]$$$. It is correct since:
In the third test case, one can show that no such $$$p$$$ and $$$q$$$ exist.
Name |
---|