#THU20242C. 排列
排列
时间限制: 1.0 秒
空间限制: 256 MB
题目描述
现在有一个排列 ( 到 只出现了一次的数组), 个限制,每个限制有两个数字 和 ,表示下标小于等于 的数字中,值小于等于 的恰好为 个。即满足 且 的 的数量恰好是 个。
现在请你构造出这个 数组,如果有多种构造方式,输出任意一种,如果构造不出来,请输出 -1。
输入格式
从标准输入读入数据。
第一行一个整数 ,表示有 组数据。
之后每组数据第一行两个整数 ,表示有 个数字, 组限制。
之后的 行,每一行有两个数字 和 ,表示下标小于等于 的数字中,值小于等于 的恰好为 个,保证每个限制条件中的 各不相同。
输出格式
输出到标准输出。
输出共计 行。对于每组数据,输出 个整数,代表你构造出来的 数组。如果有多种构造方式,输出任意一种。如果构造不出来,请输出一行 -1。
2
5 2
2 2
5 4
10 1
1 10
1 2 5 3 4
-1
样例 1 解释
在有解的情况下,输出任意一种正确答案即可。对于样例 1 当中的第一组数据,输出 1 2 5 3 4 或 1 2 3 5 4 或其他满足两组限制条件的排列都是正确的。第二组数据无论如何也无法满足要求,故输出一行 -1 即可。
子任务
对于全部数据,保证 $1\le k,p\le n,~1\le x,n\le 10^5,~\sum n\le 5\times 10^5$。
本题采用捆绑测试,你只有通过一个子任务中的所有测试点才能得到该子任务的分数。
| 子任务编号 | 分值 | 数据范围 | 其他限制 |
|---|---|---|---|
| 1 | 20 | 无 | |
| 2 | 30 | ||
| 3 | 10 | ||
| 4 | 40 | 无 |