【MX-X4-T6】「Jason-1」电梯

题目描述

一栋 $n$ 层的楼有 $m$ 部电梯,每部电梯有静止与运动两种状态。 初始时,第 $i$ 部电梯静止于第 $i$ 层。给定一个 $1 \sim m$ 的排列 $p$,你希望最终第 $i$ 部电梯位于 $p_i$ 层。 你可以进行以下两种操作: - `0`:让时间向后运动一个时刻。 - `x`:其中 $x$ 为不超过 $n$ 的正整数。 - 执行该操作时,需要满足:$x$ 层不存在静止的电梯;距离 $x$ 层距离最近的$^\dagger$ 静止的电梯存在且唯一。 - 令 $y$ 为最近的静止的电梯编号,$z$ 为其位置。则电梯 $y$ **立刻**变为运动的电梯,并在 $\lvert x - z\rvert$ 时刻后的**所有操作前**到达楼层 $x$ 并变为静止的电梯。 $^\dagger$:位于 $a$ 层的一部电梯与楼层 $x$ 的距离为 $\lvert a - x\rvert$。 **注意:你需要保证,任何时刻不存在两个静止的电梯位于同一楼层。** 对于每组数据,有一个评分参数 $o$,你需要构造出总操作次数不超过 $o$ 的方案才能通过该组数据。 本题使用**自定义校验器**检验你的答案是否正确,因此若有多种满足条件的方案,你只需要输出**任意一种**。

输入输出格式

输入格式


**本题输入包含多组数据。** 第一行,一个正整数 $T$,表示数据组数。对于每组数据: - 第一行,四个正整数 $Q, n, m, o$,分别表示询问组数、楼层数、电梯数、与评分参数。 - 接下来 $Q$ 行,每行 $m$ 个整数 $p_1, \ldots, p_m$,表示电梯的目标位置。

输出格式


对于每组数据: - 共 $2 Q$ 行。对于每个询问,输出两行: - 第一行,一个非负整数 $k$,表示你的方案的操作步数; - 第二行,$k$ 个 $[0, n]$ 中的整数,表示你的具体操作方案。 本题使用**自定义校验器**检验你的答案是否正确,因此若有多种满足条件的方案,你只需要输出**任意一种**。

输入输出样例

输入样例 #1

2
2 4 2 12
1 2
2 1
1 10 5 30
5 4 3 2 1

输出样例 #1

0

9
3 4 0 0 1 0 2 0 0
16
6 6 6 6 6 0 1 0 2 0 3 0 4 0 5 0

输入样例 #2

1
1 6 5 30
5 4 3 2 1

输出样例 #2

16
6 6 6 6 6 0 1 0 2 0 3 0 4 0 5 0

说明

**【样例解释 #1】** 该样例满足子任务 2 的限制。 对于第一组数据的第一组询问,不需要操作。 对于第一组数据的第二组询问: | 操作 | 时刻 | 电梯 $1$ 位置 | 电梯 $2$ 位置 | | :----------: | :----------: | :----------: | :----------: | | 初始状态 | $0$ | $1$ | $2$ | | $3$ | $0$ | $1$ | 运动 | | $4$ | $0$ | 运动 | 运动 | | $0$ | $1$ | 运动 | $3$ | | $0$ | $2$ | 运动 | $3$ | | $1$ | $2$ | 运动 | 运动 | | $0$ | $3$ | $4$ | 运动 | | $2$ | $3$ | 运动 | 运动 | | $0$ | $4$ | 运动 | $1$ | | $0$ | $5$ | $2$ | $1$ | **【样例解释 #2】** 该样例满足子任务 7 的限制。 **【数据范围】** **本题采用捆绑测试。** | 子任务 | $n \le$ | $m =$ | $o = $ | 分值 | | :----------: | :----------: | :----------: | :----------: | :----------: | | 1 | $3$ | $2$ | $7$ | $7$ | | 2 | $100$ | $\lfloor \frac{n}{2} \rfloor$ | $2\times(m+n)$ | $11$ | | 3 | $40$ | $n-1$ | $3 \times n^3$ | $17$ | | 4 | $200$ | $n-1$ | $5 \times n^2$ | $19$ | | 5 | $4000$ | $n-1$ | $50 \times n$ | $17$ | | 6 | $5 \times 10^{4}$ | $n-1$ | $6 \times n$ | $16$ | | 7 | $5 \times 10^{4}$ | $n-1$ | $5 \times n$ | $13$ | 对于所有数据,$1 \le T \le 20$,$2 \le m < n \le 5 \times 10^{4}$,保证 $n, m, o$ 同时满足上述某个子任务的限制,$p$ 为 $1 \sim m$ 的排列,$1 \le Q \le 2\times 10^6$,$\sum o Q \le 2 \times 10^6$。