小罗又想要搞大新闻了,于是他准备了一个2T的硬盘打算做成虚拟内存,然后使用malloc分配一大堆空间。
但是他的硬盘上还有其他的文件,这些文件所处的位置是不能被分配成内存的。所以这2T的虚拟内存并不是连续的,而malloc需要连续内存来分配。小罗想要知道他最多能malloc多少次,请你估计一下吧。
第一行为:三个数n、mallocSize、volume,分别表示文件的数量、每次malloc所分配的内存,和磁盘容量。
接下来n行,每行2个整数start,end,表示每个文件占用的起始位置和结束位置,包括端点。每个文件都是连续的。
$0 < n \leq 100$
$0 < mallocSize \leq 1000$
$0 < volume \leq 1000$
$0 \leq start <= end < volume$
输出一行,最多能够malloc多少次。
3 5 20
0 0
4 4
10 12
2
内存状态如下所示(0为空闲,1为占用):
1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0
其中能分配2个malloc空间(5个内存),分配在地址5~9,13~17。
1.文件可能是互相重叠的
2.输入时不是按照从左到右的顺序的(可能是乱序的)