排序
题目描述
对一个全排列a1,a2,⋯,an,给定m并依次做如下操作
- 对a1∼am进行从小到大排序;
- 对a2∼am+1进行从小到大排序:
- ……
- 对an−m+1∼an进行从小到大排序:
注意每次排序都改变了a序列,每次的ai指上一轮排序后处在i位置的数。
我们不知道初始的a,只知道排序的最终结果,记做b1,b2,⋯,bn。求所有可能的初始a中,字典序第k小的?保证存在k个不同的初始a。
输入格式
第一行,三个正整数 n,m,k;
第二行,n个正整数 b1,b2,⋯,bn。
输出格式
一行,用单个空格隔开的n个整数,为字典序第k小的a序列。
样例 1
5 3 6
3 1 2 4 5
5 4 3 1 2
样例 2
见下发文件:sort2.in 与 sort2.out。
数据范围
共25个测试点分配在子任务,每个测试点4分。
下发大样例ex_C1到ex_C5依次符合如下5个子任务的要求。
| 子任务编号 |
数据范围 |
分值 |
| 1 |
n≤10 |
20 |
| 2 |
n≤100 |
| 3 |
n≤105 |
| 4 |
k=1 |
| 5 |
1≤n≤106,1≤k≤1018,1≤m≤n |
更多样例
以下 5 组大样例取自原题附件: