3008: 机器人小队

时间限制:2000 ms 内存限制:128 MB
上传者:
提交:5 通过:3

题目描述

到了$2030$年,彩虹岛的机器人小队已经小有名气了。就在不久之前,他们又研发了一款新型机器人,由于制作精良,每个新型机器人的工作效率都是一样的。
$S$公司来找彩虹岛机器人小队完成一系列任务。需要完成的任务一共有$n$项,编号为$1 \sim n$,每项任务有一个任务量$a_{i}$。
吝啬的$S$公司只愿意出钱雇佣$m$个新型机器人,同时他们提出来一项苛刻要求,那就是给每个机器人安排的任务在序列中必须是连续的,且每个机器人至少要完成一个任务。
只有当所有的机器人都完成安排给自己的任务时,整个任务才视为最终完成。


请设计出一个任务分配方案,使得任务最终完成的时间最短。

输入格式

输入第一行为一个整数$T(T \leq 2000)$,表示一共有$T$组测试数据。
每组数据有两行:
第一行为两个整数$n$和$m(1 < m \leq n \leq 500)$,分别表示需要完成的任务数与雇佣的机器人数。
第二行有$n$个整数,第$i$个数表示第$i$项任务的任务量$a_{i}(1 \leq a_{i} \leq 10000000)$。

输出格式

对于每组测试数据,输出最优方案的任务分配情况:用“/”将任务量分开,每一部分表示一个机器人分到的任务。
如果有多种情况,那么使得第一个机器人分配的任务数最少,如果依旧存在多组,则在此基础上,使得第二个机器人分配的任务数最少,以此类推。

输入样例 复制

2
5 4
100 100 100 100 100
7 3
1 2 3 4 5 6 7

输出样例 复制

100 / 100 / 100 / 100 100
1 2 3 4 / 5 6 / 7