#P2087. 歌曲压缩
歌曲压缩
问题说明
Ivan的电话里有n首歌。第i首歌的大小是ai字节。Ivan还有一个闪存驱动器,最多可容纳M字节。
最初,他的闪存驱动器是空的。
伊凡想把N首歌全部复制到闪存驱动器。
他能压缩歌曲。如果他压缩第i首歌,第i首歌的大小将从ai减少到bi字节(bi<ai)。
Ivan可以压缩歌曲的任何子集(可能是空的),并将所有歌曲复制到他的闪存驱动器(如果它们的大小总和最多为m)。
他可以压缩歌曲的任何子集(不一定是连续的)。
Ivan希望找到他需要压缩的最少歌曲数量,以使所有歌曲都适合驱动器(即大小之和小于或等于m)。
输入格式
输入的第一行包含两个整数n (Ivan手机上的歌曲数)和m(Ivan闪存驱动器的容量)(1≤n≤105,1≤m≤109)
接下来的n行包含两个整数:第i行包含两个整数ai和bi(1≤ai,bi≤109,ai>bi)-第i首歌的初始大小和压缩后第i首歌的大小。
输出格式
如果无法以所有歌曲都适合闪存驱动器的方式压缩歌曲的子集,请打印“-1”。否则,打印要压缩的最少歌曲数。4 21
10 8
7 4
3 1
5 4
2