loj#P6935. 「ICPC World Finals 2023」时差
「ICPC World Finals 2023」时差
题目描述
ICPC World Finals 到了,其中有很多你想参加的活动——演讲、现场展示、趣味活动,更不用说比赛本身了。只有一个问题:你什么时候睡觉?
当你入睡时,你总是会设置一个闹钟,否则你就可能一直睡下去。用了闹钟,你就可以选择睡任意正整数分钟。在睡 分钟后,你会再休息 分钟(因此你将无法再次入睡);然后你将能够在第三个 分钟内正常活动(因此你可以保持清醒,但如果你想睡觉,也可以直接睡)。
你知道 WF 所有活动的时间;你应该计划好自己的睡眠时间,以免错过任何活动的任何部分。就在 WF 开始前(第 分钟),你会经过长途旅行抵达酒店房间,需要立即入睡。
输入格式
第一行包含一个正整数 (),表示 WF 中活动的数量。
接下来 行,第 行包含两个正整数 和 (,,),分别表示活动的开始和结束时间,按 WF 开始的时间计算,以分钟为单位。
输出格式
如果可以规划一个睡眠时间表,使你能够完整地参加所有计划的活动,那么就按下列格式输出一个时间表。否则,输出 impossible
。
睡眠时间表由第一行输出的睡眠时段数 ()和后面的 行确定。其中第 行包含两个整数 和 ,即第 个睡眠时段的开始和结束时间,从 WF 开始算起,以分钟为单位。注意不应输出在最后一个活动结束后的睡眠时段。
睡眠时段必须满足 和题目描述中不允许在醒来之后的某些时间内睡觉的条件。你可以在某个活动之后立刻睡觉(因此可能有 )或者恰好在某个活动开始之前醒来(因此可能有 )。
如果有多个合法的睡眠时间表,那么输出任何一个都可以。可以证明,如果存在一个合法的睡眠时间表,那么也存在一个最多有 个睡眠时段的合法睡眠时间表。
3
30 45
60 90
120 180
2
0 30
90 120
1
0 60
impossible
7
31 32
35 41
48 55
69 91
1000 2022
2022 2023
2994 4096
5
0 5
10 28
56 68
92 900
2025 2900