最优卡组

时间限制: 2000 ms 内存限制: 131072 kb
总通过人数: 0 总提交人数: 0

题目描述

chitanda 有 $k$ 个卡包,第 $i$ 个卡包里有 $c_i$ 张卡,每张卡有一个能力值,其中第 $i$ 个卡包里的第 $j$ 张卡具有 $a_{i, j}$ 点能力值。

他准备选择 $k$ 张卡牌的组合,其中每个卡包要选择恰好一张卡牌。他希望这 $k$ 张卡牌的能力值之和尽量大,请你告诉他在所有可能的组合里,能力值之和最大的 $n$ 个组合分别具有多大的能力值。

输入

第一行包含一个正整数 $T$,表示有 $T$ 组测试数据。

接下来依次给出每组测试数据。对于每组测试数据:

第一行包含两个整数 $k$ 和 $n$,含义见题目描述。

接下来 $k$ 行,每行描述一个卡包的信息,其中第 $i$ 行的第一个整数表示 $c_i$,接下来该行会有 $c_i$ 个整数,依次表示这个卡包里每张卡的能力值。

保证在一行中的每个整数之间有恰好一个空格,没有其他额外的空格。

保证所有的数据满足 $1 \leq T \leq 100$。

保证每组数据满足 $1 \leq k, \sum{c_i} \leq 10^5,$ $c_i \geq 1,$ $1 \leq n \leq \min\left(10^5, \prod_{i = 1}^{k}{c_i}\right),$ $1 \leq a_{i, j} \leq 10^{12}$。

存在约 $90\%$ 的数据满足 $1 \leq k, \sum{c_i} \leq 500,$ $1 \leq n \leq 1000$。

输出

对于每组数据,输出一行,包含 $n$ 个整数,相邻两个数字之间用空格隔开,其中第 $i$ 个整数表示第 $i$ 大的能力值之和。

输入样例

1
2 9
3 1 3 5
3 2 3 3

输出样例

8 8 7 6 6 5 4 4 3

样例解释

chitanda 有 $3 \times 3$ 种选法,能力值分别为 $1 + 2, 1 + 3, 1 + 3, 3 + 2, 3 + 3, 3 + 3, 5 + 2, 5 + 3, 5 + 3$。


Problem Setter: skywalkert

Problem Tester: none

本题强数据版本

相关推荐