CF1768C Elemental Decompress

题目描述

给定整数 $n$ 和长度为 $n$ 的序列 $a$。 构造任意一组 $1\sim n$ 的排列 $p,q$,使得对于任意整数 $i(1\leq i\leq n)$ 都有 $\max(p_i,q_i)=a_i$。 有解输出 `YES` 然后输出任意一组满足要求的 $p,q$ 即可;无解输出 `NO`。 每个测试点包含 $t$ 组数据。

输入格式

第一行输入一个整数 $t(1\leq t\leq10^4)$ 表示数据组数,接下来对于每组数据: 第一行输入一个整数 $n(1\leq n,\sum n\leq2\times10^5)$。 接下来输入一行 $n$ 个整数 $a_1,a_2,\cdots,a_n(1\leq a_i\leq n)$。

输出格式

对于每组数据: 如果无解,输出一行 `NO`。 如果有解: - 首先输出一行 `YES`。 - 接下来输出一行 $n$ 个整数 $p_1,p_2,\cdots,p_n$ 表示你构造的排列 $p$。 - 接下来输出一行 $n$ 个整数 $q_1,q_2,\cdots,q_n$ 表示你构造的排列 $q$。 有多组解时你可以输出任意一组。 评测时 `YES` 和 `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: - $ a_1 = \max(p_1, q_1) = \max(1, 5) = 5 $ , - $ a_2 = \max(p_2, q_2) = \max(3, 2) = 3 $ , - $ a_3 = \max(p_3, q_3) = \max(4, 3) = 4 $ , - $ a_4 = \max(p_4, q_4) = \max(2, 1) = 2 $ , - $ a_5 = \max(p_5, q_5) = \max(5, 4) = 5 $ . In the third test case, one can show that no such $ p $ and $ q $ exist.