#Y04003. 文件存储

    ID: 2403 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>排序与查找简单排序数据结构结构体段位四段

文件存储

题目描述

小晨 喜欢收集各种有趣的数据和图片。今天,他想将 n 个数据文件拷贝到他的优盘中,每个文件的原始大小为 aia_i 。为了一次性拷贝所有文件,小晨 可以将文件进行压缩,将文件大小从 aia_i 变为 bib_i

小晨 的优盘最大容纳空间为 m ,请问他最少需要压缩多少个文件,才能将所有文件拷贝到优盘中。

请你编写一个程序,输入 n 、m 和 n 个文件的大小信息,输出最少需要压缩多少个文件。

输入格式

第一行包含两个整数 n 和 m 。

接下来 n 行,每行包含两个整数 aia_ibib_i ,表示第 i 个文件的原始大小和压缩后的大小。

输出格式

如果无论如何都不能装下所有文件,则输出 -1。

否则,输出一个整数,表示最少所需压缩的文件个数。

4 21
10 8
7 4
3 1
5 4
2
4 16
10 8
7 4
3 1
5 4
-1

说明

【数据范围】

60%测试点满足 $1≤n≤4,1 \le m \le 10^5,1 \le a_i, b_i \leq 10^5,a_i > b_i​$。

100%测试点满足 $1 \le n \le 10^5,1 \le m \le 10^9,1 \le a_i, b_i \leq 10^9,a_i > b_i​$。

【样例 1 解释】

{10 + 7 + 3 + 5 = 25} 大于容量 21,所以需要压缩。 选择原始容量 7 的压缩成 4 ,再选择原始容量 10 的压缩成 8 ,此时 8 + 4 + 3 + 5 = 20,则能够拷贝到优盘。

【样例 2 解释】

即使每一个文件都进行压缩,总容量为 {8 + 4 + 1 + 4 = 17} 大于 16,压缩后无法拷贝到优盘,所以输出 -1。