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$ 的整数都出现且仅出现一次的序列。