CF1862B Sequence Game
题目描述
Tema 和 Vika 正在玩如下的游戏。
首先,Vika 想出一个长度为 $m$ 的正整数序列 $a$,并将其写在纸上。然后她拿出一张新纸,根据以下规则写下序列 $b$:
- 首先写下 $a_1$。
- 然后,对于 $2 \le i \le m$,仅当 $a_{i-1} \le a_i$ 时才写下 $a_i$。记该序列的长度为 $n$。
例如,从序列 $a=[4, 3, 2, 6, 3, 3]$,Vika 会得到序列 $b=[4, 6, 3]$。
接着,她把写有序列 $b$ 的纸交给 Tema。Tema 试图猜出 Vika 最初选择的序列 $a$。
Tema 认为在这种游戏中获胜的概率极低,但他仍然想找出至少一个可能被 Vika 选中的序列 $a$。请帮助他,输出任意一个符合条件的序列。
注意,你输出的序列长度不能超过输入序列长度的两倍。
输入格式
输入包含多组测试用例。第一行为一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行为一个整数 $n$($1 \le n \le 2 \cdot 10^5$),表示序列 $b$ 的长度。
每个测试用例的第二行为 $n$ 个整数 $b_1, b_2, b_3, \dots, b_n$($1 \le b_i \le 10^9$),表示序列 $b$ 的元素。
所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出两行。第一行输出一个整数 $m$,表示你构造的序列 $a$ 的长度($n \le m \le 2n$)。第二行输出 $m$ 个整数 $a_1, a_2, a_3, \dots, a_m$($1 \le a_i \le 10^9$),表示你假设的 Vika 最初写下的序列。
如果有多种符合条件的序列,输出任意一种即可。
说明/提示
第一个样例在题目描述中已经给出解释。
在第二个样例中,Vika 可能直接选择了原始序列。
由 ChatGPT 4.1 翻译