#SLT04A. 2026年S组模拟赛10连测第4场-T1 打印店

2026年S组模拟赛10连测第4场-T1 打印店

项目 内容
输入文件名 print.in
输出文件名 print.out
可执行文件名 print
每个测试点时限 1.0 秒
内存限制 512 MiB
测试点数目 20
是否等分 是

结果比较方式为全文比较(过滤行末空格及文末换行)。

题目描述

街角的打印店只有一台打印机。某天店里共收到 nn 个打印任务,编号为 1∼n1 \sim n。第 ii 个任务在时刻 aia_i 送达柜台(到达时刻两两不同,任务按到达先后给出),需要打印 pip_i 页。打印机从时刻 00 起开始工作,打印 11 页恰好耗时 11 分钟。

店里对打印顺序立下如下规矩:打印一个任务时中途不得打断;打印机一旦空闲,若存在已到达且未完成的任务,必须立刻从中挑选一个开始打印,不得刻意空转等待。

店规把页数达到 KK 及以上的任务列为急件。挑选下一个任务时,若已到达且未完成的急件非空,必须在急件之中挑选;只有当没有已到达且未完成的急件时,才可以在其余任务中挑选。无论在哪一类中挑选,都优先选页数最少的任务;若页数相同,则选到达最早的任务。

请你求出每个任务的完成时刻,即该任务最后一页打印完毕的时刻。

输入格式

从文件 print.in 中读入数据。

  • 第一行两个整数 n,Kn, K,表示任务数量与急件页数界限;
  • 接下来 nn 行,每行两个整数 ai,pia_i, p_i,依次表示第 ii 个任务的到达时刻与页数。任务按到达时刻升序给出。

输出格式

输出到文件 print.out 中。

输出 nn 行,第 ii 行一个整数,表示第 ii 个任务的完成时刻。

样例

4 5
0 3
1 8
2 2
4 6
3
11
19
17

样例 1 解释

时刻 00 只有任务 11 已到达,打印机在时刻 0∼30\sim3 打印任务 11。此后任务 22(88 页,急件)与任务 33(22 页,普通件)都已到达,急件非空,故在时刻 3∼113\sim11 打印任务 22;期间任务 44(66 页,急件)也已到达。时刻 1111 时已到达的急件中只有任务 44,于是在时刻 11∼1711\sim17 打印任务 44,最后在时刻 17∼1917\sim19 打印任务 33。

4 10
0 12
2 12
3 12
50 5
12
24
36
55

样例 2 解释

时刻 00 只有任务 11 已到达,打印机在时刻 0∼120\sim12 打印任务 11。时刻 1212 时任务 22、33 都已到达,页数同为 1212,选到达最早的任务 22,在时刻 12∼2412\sim24 打印;随后在时刻 24∼3624\sim36 打印任务 33。任务 44 要到时刻 5050 才到达,打印机在时刻 36∼5036\sim50 空闲等待,最后在时刻 50∼5550\sim55 打印任务 44。

4 6
0 8
1 6
2 1
3 7
8
14
22
21

样例 3 解释

时刻 00 只有任务 11 已到达,打印机在时刻 0∼80\sim8 打印任务 11。时刻 88 时其余三个任务都已到达:任务 22 有 66 页、任务 44 有 77 页,均属急件;任务 33 只有 11 页,是普通件。急件非空,故只在任务 22、44 中挑选,页数更少的任务 22 在时刻 8∼148\sim14 打印;随后任务 44 在时刻 14∼2114\sim21 打印;最后没有急件剩余,任务 33 在时刻 21∼2221\sim22 打印。

数据范围

对于所有测试数据,保证:

  • 1≤n≤1051 \le n \le 10^5;
  • 0≤a1<a2<⋯<an≤1090 \le a_1 < a_2 < \dots < a_n \le 10^9;
  • 1≤pi≤1041 \le p_i \le 10^4,1≤K≤1041 \le K \le 10^4。

各测试点的约束如下:

测试点 nn 特殊性质
1∼31 \sim 3 ≤10\le 10 无
4∼84 \sim 8 ≤2000\le 2000
9∼129 \sim 12 ≤105\le 10^5 A
13∼2013 \sim 20 无
  • 特殊性质 A:所有任务的页数都小于 KK,即 pi<Kp_i < K。
难度 未评定
通过率 —
尝试 0
通过 0
ID
3781
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者