![]() |
||||||||||
|
||||||||||
NoWA爱学习Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1 Accepted Submission(s): 1 Special Judge Problem Description 新学期又开始啦,热衷于进行 $ACM$ 训练的好学生 $NoWA$ 想要合理安排好自己的训练和学习时间。 $NoWA$ 本学期有 $n$ 门课程需要各交一份课题报告,第 $i$ 门课程的课题任务发布时间为 $a_i$ ,截止时间为 $b_i$ , $NoWA$ 需要 $t_i$ 天才能写好这份报告(这 $t_i$ 天不一定要连续)。$NoWA$ 的第一场 $XCPC$ 就定在本学期的第 $k+1$ 天,因此他必须要在前 $k$ 天完成这些烦人的作业。 对 $NoWA$ 来说,每学期第一天的 $ACM$ 训练效果最好,之后的每一天都会比前一天差一些,所以 $NoWA$ 想要尽可能早的进行训练。 $NoWA$ 每一天要么只能进行训练,要么只能准备某一门课的课题报告,请你帮他安排一份日程表,帮助他在完成作业的前提下,尽可能有更好的训练效果。 Input 第一行一个整数 $T(1 \leq T \leq 50)$ ,表示测试数据组数,接下来包含 $T$ 组测试数据。 对于每组测试数据,输入两个整数 $n,k\ (1 \leq n,k \leq 10^4)$ 。 接下来输入 $n$ 行,每行三个整数 $t_i,a_i,b_i\ (1 \leq t_i \leq 10^4,1 \leq a_i<b_i\leq 10^4)$; Output 对于每组测试数据,如果 $NoWA$ 不能按时完成作业,输出 $-1$ 。 否则输出 $k$ 个整数,第 $i$ 个数表示第 $i$ 天在做第几门课的作业,如果那天在训练,则输出 $0$ 。 如果有多种方案都能完成作业,且训练效果都是最好的,你可以输出任意一种。 Sample Input
Sample Output
Source | ||||||||||
|