AT_xmascon25_c Combination
题目描述
对于每个输入文件,给定 $T$ 个测试用例。每个测试用例给出正整数 $M, N$ 和整数 $A_1, A_2, \ldots, A_M$,请回答下述问题。
有 $M$ 只兔子和 $N$ 只猫。兔子编号为 $1, 2, \ldots, M$,猫编号为 $1, 2, \ldots, N$。
从中任选 $2$ 只兔子和 $2$ 只猫,共有 $\binom{M}{2}\binom{N}{2}$ 种选法,对于每种组合,各进行一场游戏,每场游戏从被选中的 $4$ 只动物中选出一只冠军。
记录如下信息:
- 兔子 $i$($1 \le i \le M$)获得胜利的次数为 $a_i$。
- 猫 $j$($1 \le j \le N$)获得胜利的次数为 $b_j$。
请判断是否存在一种游戏结果使得 $(a_1, a_2, \ldots, a_M) = (A_1, A_2, \ldots, A_M)$ 成立。如果存在,请在此条件下求出所有合法的 $(b_1, b_2, \ldots, b_N)$ 中字典序最小的一个。
输入格式
第 $1$ 行输入测试用例的个数 $T$。接下来按照如下格式给出 $T$ 个测试用例。
> $M$ $N$ $A_1$ $A_2$ $\cdots$ $A_M$
输出格式
对于每个测试用例,按顺序各输出一行,要求如下:
若 $(a_1, a_2, \ldots, a_M) = (A_1, A_2, \ldots, A_M)$ 可行,则输出满足条件的 $b_1\ b_2\ \cdots\ b_N$,该序列在所有可能的方案中字典序最小。
如果不存在这样的方案,则输出
```
-1
```
说明/提示
### 样例说明1
对于第 $1$ 个测试用例,游戏过程可能如下:
- 选择“兔子 $1$、兔子 $2$、猫 $1$、猫 $2$”时,兔子 $2$ 获胜;
- 选择“兔子 $1$、兔子 $2$、猫 $1$、猫 $3$”时,猫 $3$ 获胜;
- 选择“兔子 $1$、兔子 $2$、猫 $2$、猫 $3$”时,猫 $3$ 获胜;
此时有 $(a_1, a_2) = (0, 1) = (A_1, A_2)$,同时 $(b_1, b_2, b_3) = (0, 0, 2)$。
对于 $(b_1, b_2, b_3)$,没有比 $(0, 0, 2)$ 字典序更小的方案,所以该组为答案。
### 数据范围
- $1 \le T \le 10^5$。
- $2 \le M \le 10^6$。
- $2 \le N \le 10^6$。
- $0 \le A_i \le (M-1)\binom{N}{2}$($1 \le i \le M$)。
- 每个输入文件内所有 $M$ 的总和不超过 $10^6$。
- 每个输入文件内所有 $N$ 的总和不超过 $10^6$。
由 ChatGPT 5 翻译