#CF2046B. 通过操作得到最小字典序数组
通过操作得到最小字典序数组
B. 通过操作得到最小字典序数组
每个测试点时间限制: 秒
每个测试点内存限制: 兆字节
给定一个长度为 的整数数组 。你可以执行以下操作任意多次(包括零次):
在一次操作中,选择一个下标 (),令 ,然后将 移动到数组的末尾(最右侧位置)。例如,如果 ,选择 ,则数组变为 。
请找出通过执行这些操作所能得到的字典序最小的数组。
字典序定义:数组 字典序小于数组 当且仅当以下条件之一成立:
- 是 的前缀,但 ;或者
- 在 和 第一个不同的位置上, 中的元素小于 中的对应元素。
输入
每个测试包含多个测试用例。第一行包含一个整数 (),表示测试用例的数量。
每个测试用例的描述如下:
第一行包含一个整数 (),表示数组的长度。
第二行包含 个整数 (),表示数组中的元素。
保证所有测试用例的 之和不超过 。
输出
对于每个测试用例,输出一行,包含你得到的字典序最小的数组,元素之间用空格分隔。
样例
输入
3
3
2 1 3
5
1 2 2 1 4
6
1 2 3 6 5 4
输出
1 3 3
1 1 3 3 5
1 2 3 4 6 7