P16394 [ECUSTPC 2026 Spring] 回响形态
题目背景
:::epigraph
你构造序列成功了?
你构造序列成功
:::
题目描述
构造王国还在追击小 T……
定义一个长度为 $n$ 的序列的前缀 $\max$ 序列 $x$ 为 $x_i = \max\{a_j : 1 \le j \le i\}$,前缀 $\min$ 序列 $y$ 为 $y_i = \min\{a_j : 1 \le j \le i\}$。
对于给定的 $n$ 和 $k$,请构造两个满足如下条件的长度为 $n$ 的序列 $a$ 和 $b$,如果不存在满足下述条件的两个序列,请报告无解:
- $a$ 和 $b$ 为 $1$ 到 $n$ 的排列。
- $a$ 和 $b$ 有至少一项不同,也即存在 $i$ 满足 $a_i \ne b_i$。
- 对于 $a$ 和 $b$ 的中的任意一个序列,记其前缀 $\max$ 序列为 $x$,前缀 $\min$ 序列为 $y$,需要满足:
$$
\sum_{i=1}^{n}(x_i - y_i) = k.
$$
输入格式
第一行输入一个整数 $T \ (1 \le T \le 10^5)$,表示测试数据的数量。
每组测试数据一行输入两个整数 $n$ 和 $k \ (2 \le n \le 10^5, 0 \le k \le 10^{10})$,表示序列的长度和前缀 $\max$ 和 $\min$ 的差。
保证所有测试数据的 $\sum n \le 3 \times 10^5$。
输出格式
对于每组测试数据,若存在满足条件的两个序列则输出两行。
第一行输出 $n$ 个整数 $a_1, a_2, \dots, a_n$ 表示你构造的第一个序列 $a$。
随后一行输出 $n$ 个整数 $b_1, b_2, \dots, b_n$ 表示你构造的第二个序列 $b$。
若不存在满足条件的两个序列,则输出一行一个整数 $-1$。
如果有多个合法的答案则你可以输出其中任意一个。
说明/提示
### 样例 1 解释
对于第 3 组测试数据,我们验证第二个序列也就是 $b$ 序列是否符合条件:
- $\{1, 2, 4, 5, 3\}$ 是一个 $1$ 到 $5$ 的排列,因为其中各个整数都出现且仅出现了一次。
- 第二项 $a_2 = 3$, $b_2 = 2$, $a_2 \ne b_2$。
- 其前缀 $\max$ 序列为 $x = \{1, 2, 4, 5, 5\}$,前缀 $\min$ 序列为 $y = \{1, 1, 1, 1, 1\}$,即得
$$
\sum_{i=1}^{n}(x_i - y_i) = (1 - 1) + (2 - 1) + (4 - 1) + (5 - 1) + (5 - 1) = 0 + 1 + 3 + 4 + 4 = 12 = k.
$$
### 提示
一个 $1$ 到 $n$ 的排列是一个长度为 $n$ 且其中每个 $1$ 到 $n$ 的整数都出现且仅出现一次的序列。