2026 CSP-S 模拟卷(一)T1 任务排程
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
2026 CSP-S 模拟卷(一)T1 任务排程
题目背景与题意
小 Z 给自己列了一份训练计划,共有 个任务。第 个任务需要连续 分钟才能完成,必须在第 分钟结束之前或正好结束(即完成时刻不超过 )。所有任务从第 0 分钟开始,同一时刻只能做一个任务,任务之间不能重叠、不能中断,也不必按输入顺序完成。小 Z 想知道:在不违反任何截止时间的前提下,最多能完成多少个任务?如果一个任务做不完,他可以选择直接放弃它。
注意:被放弃的任务完全不影响其他任务,也就是说,你只需要挑出一个任务集合,并给它们安排一个执行顺序,使得按这个顺序依次连续执行时,每个任务都在自己的截止时间前完成。你要求的是这个集合的最大可能大小。
输入格式
第一行一个整数 ,表示任务数。
接下来 行,每行两个整数 ,依次表示截止时间与所需时长。
输出格式
一行一个整数,表示最多能完成的任务数。
样例输入
4
5 3
8 4
3 5
20 2
样例输出
3
样例解释
四个任务分别是:截止 5 分钟、耗时 3 分钟;截止 8 分钟、耗时 4 分钟;截止 3 分钟、耗时 5 分钟;截止 20 分钟、耗时 2 分钟。
第三个任务耗时 5 分钟而截止时间只有 3 分钟,单做它也来不及,必须放弃。剩下三个任务按「截止 5 分钟的先做、再截止 8 分钟、最后截止 20 分钟」的顺序执行:第 3 分钟完成第一个,第 7 分钟完成第二个,第 9 分钟完成第三个,全部满足截止要求,共 3 个。所以答案是 3。
数据范围与子任务
| 子任务 | 分值 | 约束 | 特殊性质 |
|---|---|---|---|
| 1 | 30 | , | 无 |
| 2 | , | ||
| 3 | 40 | , |
对全部数据:,。
子任务采用捆绑测试:子任务内部的测试点必须全部通过才能拿到该子任务的全部分值,否则该子任务得 0 分。
时间限制 1 秒,空间限制 512 MB。