#P15601. [2025年山东第一轮集训] 构造排列
[2025年山东第一轮集训] 构造排列
题目描述
给定排列 和 ,以及非负整数 和 。
构造排列 ,使得:
- 的逆序对数量为 ;
- 的逆序对数量为 。
无解输出 -1。否则若有多组解,任意输出一组。
特别地,对于一个子任务,如果你判断对了是否无解,也能获得 的分数。
输入格式
第一行三个整数 。
第二行 个整数,表示排列 。
第三行 个整数,表示排列 。
输出格式
若无解,输出 -1。
否则输出 个整数,表示构造的排列 。相邻数字间用一个空格隔开。
如果你的输出不是 -1,你需要保证输出的是一个 的排列,这会影响你是否能拿到部分分。
样例 1
样例输入 1
4 1 2
3 1 4 2
2 4 3 1
样例输出 1
4 2 1 3
样例解释 1
样例 2
样例输入 2
4 1 0
3 1 4 2
2 4 3 1
样例输出 2
-1
数据范围
对于所有数据,保证:
$$1\le n\le 200000, \qquad 0\le A,B\le \frac{n(n-1)}{2}$$对于一个子任务,如果你判断对了是否无解,也能获得 的分数。
| 子任务编号 | 特殊性质 | 分值 | |
|---|---|---|---|
| 1 | 无 | 10 | |
| 2 | AB | 15 | |
| 3 | A | ||
| 4 | 无 | 25 | |
| 5 | A | 10 | |
| 6 | 无 | 25 |
特殊性质 A:数据在有解情况下随机:随机生成排列 ,再从有解的情况中随机选取 ;在 subtask 中至多有 组数据。
特殊性质 B:该 subtask 仅包含一个数据,且数据在大样例中下发。