本题本质是区间染色与扫描统计。
推理集群上排着 m 项待跑作业,第 p 项占用区间是左闭右开的 [begp,finp)。作业一旦开工就必须占住一张加速卡直到区间右端点,同一张卡在任意时刻最多承接一项作业。
一项作业在 finp 结束之后,该卡可以立刻接下一项:只要下一件的 beg 不早于 finp,就算接续合法。给定的开工、收工时刻都不可改,既不能提前也不能延后。
请给出两件事:把全部作业都安排下去,至少要备多少张加速卡;以及在这种最少卡数下,全部加速卡同时处于占用状态的时间长度之和。若满载出现多段,把各段长度加起来。
首行给出整数 m(1≤m≤200000),即作业项数。
随后 m 行,第 p 行两个整数 finp,begp(0≤begp<finp≤109),用逗号分隔,先给出结束时刻、再给出开始时刻。
作业可以按任意次序给出。时刻相同的两项仍是两件独立作业,必须分别占卡。
第一行输出一个整数,即最少需要的加速卡张数。
第二行输出一个整数,即所有加速卡同时占用的累计时长。
输入
4
10,0
15,5
20,10
30,25
输出
2
10
说明
四项作业的占用区间为 [0,10)、[5,15)、[10,20)、[25,30)。
最少要 2 张卡。满载发生在 [5,10) 与 [10,15),两段长度都是 5,相加为 10。时刻 10 处的交接不把满载拆断。[25,30) 只有一张卡在忙,不计入满载。
输入
3
2,1
6,4
9,8
输出
1
4
说明
三项两两不重叠,一张卡就能串完。该卡处于占用的时段长度分别为 1、2、1,满载累计 4。
输入
3
8,0
7,1
6,2
输出
3
4
说明
三项在 [2,6) 上三重叠,必须准备 3 张卡。满载恰好是这一段,长度为 4。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册