#ATarc134d. [ARC134D] Concatenate Subsequences
[ARC134D] Concatenate Subsequences
题目描述
给定一个长度为 的数列 。
すぬけ君打算用 的非空(不一定连续)子序列 ,来构造一个新的数列。构造方式为:取 的第 、、、 项,以及第 、、 项,按顺序连接,得到新的数列。
请你求出すぬけ君可以构造出的所有数列中,字典序最小的那个。
什么是数列的字典序?对于两个不同的数列 和 ,判断大小的算法如下:
记 的第 项为 。若 的字典序小于 ,记作 ,大于则记作 。
- 取 和 中较短的那个数列的长度为 。依次比较 时 和 是否相等。
- 如果存在 ,取最小的这样的 为 ,比较 和 ,若 比 小,则 ,大则 ,算法结束。
- 如果所有 ,则比较数列长度,短的字典序小,长的字典序大,算法结束。
输入格式
输入从标准输入读入,格式如下:
输出格式
请输出すぬけ君可以构造出的所有数列中,字典序最小的那个。
样例 1
输入
3
2 1 3 1 2 2
输出
1 2
样例 2
输入
10
38 38 80 62 62 67 38 78 74 52 53 77 59 83 74 63 80 61 68 55
输出
38 38 38 52 53 77 80 55
样例 3
输入
12
52 73 49 63 55 74 35 68 22 22 74 50 71 60 52 62 65 54 70 59 65 54 60 52
输出
22 22 50 65 54 52
说明/提示
数据范围
- 所有输入均为整数。
样例解释 1
- 取 时,构造出的数列为 ,这是字典序最小的。
由 ChatGPT 4.1 翻译