SP9753 TUPLEDIV - Tuple Division
题目描述
你需要处理 $N$ 个 $M$ 维元组,将其分成 $M$ 组,每个元组只能使用一次,每组的大小固定为 $C_1, C_2, \ldots, C_M$。定义第 $i$ 组的得分为该组中所有元组在第 $i$ 维上的值的总和。你的目标是在确保第 $1$ 组的得分最大化的基础上,再逐步最大化第 $2$ 组的得分,以此类推。
输入格式
第一行是一个整数 $T$,代表测试用例的数量。对每个测试用例:
- 第一行包含两个整数 $N$ 和 $M$,分别代表元组的数量和每个元组的维数。
- 接下来的 $N$ 行每行包含 $M$ 个整数,表示一个 $M$ 维元组。
- 最后一行包含 $M$ 个整数 $C_1, C_2, \ldots, C_M$,表示各组的大小。
输出格式
对于每个测试用例,输出一行包含 $M$ 个整数,分别表示最优分配下每组的得分。
**样例输入**
```
2
4 2
2 1
3 2
2 1
2 2
1 1
4 3
1 1 2
8 7 1
8 7 2
8 7 4
8 2 3
```
**样例输出**
```
5 2
8 7 7
```
**提示**
在第二个测试用例中,可以进行如下分组:
- 第 1 组:(8, 7, 2),得分为 8。
- 第 2 组:(8, 7, 1),得分为 7。
- 第 3 组:包含 (8, 7, 4) 和 (8, 2, 3),得分为 4 + 3 = 7。
**本翻译由 AI 自动生成**