#SLT04A. 2026年S组模拟赛10连测第4场-T1 打印店
2026年S组模拟赛10连测第4场-T1 打印店
| 项目 | 内容 |
|---|---|
| 输入文件名 | print.in |
| 输出文件名 | print.out |
| 可执行文件名 | |
| 每个测试点时限 | 1.0 秒 |
| 内存限制 | 512 MiB |
| 测试点数目 | 20 |
| 是否等分 | 是 |
结果比较方式为全文比较(过滤行末空格及文末换行)。
题目描述
街角的打印店只有一台打印机。某天店里共收到 个打印任务,编号为 。第 个任务在时刻 送达柜台(到达时刻两两不同,任务按到达先后给出),需要打印 页。打印机从时刻 起开始工作,打印 页恰好耗时 分钟。
店里对打印顺序立下如下规矩:打印一个任务时中途不得打断;打印机一旦空闲,若存在已到达且未完成的任务,必须立刻从中挑选一个开始打印,不得刻意空转等待。
店规把页数达到 及以上的任务列为急件。挑选下一个任务时,若已到达且未完成的急件非空,必须在急件之中挑选;只有当没有已到达且未完成的急件时,才可以在其余任务中挑选。无论在哪一类中挑选,都优先选页数最少的任务;若页数相同,则选到达最早的任务。
请你求出每个任务的完成时刻,即该任务最后一页打印完毕的时刻。
输入格式
从文件 print.in 中读入数据。
- 第一行两个整数 ,表示任务数量与急件页数界限;
- 接下来 行,每行两个整数 ,依次表示第 个任务的到达时刻与页数。任务按到达时刻升序给出。
输出格式
输出到文件 print.out 中。
输出 行,第 行一个整数,表示第 个任务的完成时刻。
样例
4 5
0 3
1 8
2 2
4 6
3
11
19
17
样例 1 解释
时刻 只有任务 已到达,打印机在时刻 打印任务 。此后任务 ( 页,急件)与任务 ( 页,普通件)都已到达,急件非空,故在时刻 打印任务 ;期间任务 ( 页,急件)也已到达。时刻 时已到达的急件中只有任务 ,于是在时刻 打印任务 ,最后在时刻 打印任务 。
4 10
0 12
2 12
3 12
50 5
12
24
36
55
样例 2 解释
时刻 只有任务 已到达,打印机在时刻 打印任务 。时刻 时任务 、 都已到达,页数同为 ,选到达最早的任务 ,在时刻 打印;随后在时刻 打印任务 。任务 要到时刻 才到达,打印机在时刻 空闲等待,最后在时刻 打印任务 。
4 6
0 8
1 6
2 1
3 7
8
14
22
21
样例 3 解释
时刻 只有任务 已到达,打印机在时刻 打印任务 。时刻 时其余三个任务都已到达:任务 有 页、任务 有 页,均属急件;任务 只有 页,是普通件。急件非空,故只在任务 、 中挑选,页数更少的任务 在时刻 打印;随后任务 在时刻 打印;最后没有急件剩余,任务 在时刻 打印。
数据范围
对于所有测试数据,保证:
- ;
- ;
- ,。
各测试点的约束如下:
| 测试点 | 特殊性质 | |
|---|---|---|
| 无 | ||
| A | ||
| 无 |
- 特殊性质 A:所有任务的页数都小于 ,即 。
- ID
- 3781
- 类型
- 传统题
- Time Limit
- 1000ms
- Memory Limit
- 512MiB
- 上传者