CF1015C.Songs Compression

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Songs Compression

题目描述

Ivan 的手机上有 nn 首歌曲,第 ii 首歌曲的大小为 aia_i 字节。他还有一个容量最多为 mm 字节的 U 盘,初始时 U 盘为空。

Ivan 想要把所有 nn 首歌曲都复制到 U 盘上。他可以对歌曲进行压缩。如果他压缩第 ii 首歌曲,那么该歌曲的大小会从 aia_i 字节变为 bib_i 字节(bi<aib_i < a_i)。

Ivan 可以选择任意一些(可能为空)歌曲进行压缩,只要所有歌曲的总大小不超过 mm,就可以全部复制到 U 盘上。被压缩的歌曲不需要连续。

Ivan 想知道,最少需要压缩多少首歌曲,才能使所有歌曲都能放进 U 盘(即所有歌曲的总大小不超过 mm)。

如果即使压缩所有歌曲也无法全部放进 U 盘,请输出 “-1”。否则请输出最少需要压缩的歌曲数。

输入格式

输入的第一行包含两个整数 nnmm1n105,1m1091 \le n \le 10^5, 1 \le m \le 10^9),分别表示 Ivan 手机上的歌曲数量和 U 盘的容量。

接下来的 nn 行,每行包含两个整数 aia_ibib_i1ai,bi109,ai>bi1 \le a_i, b_i \le 10^9, a_i > b_i),分别表示第 ii 首歌曲原始的大小和压缩后的大小。

输出格式

如果无论如何都无法将所有歌曲放进 U 盘,输出 “-1”。否则输出最少需要压缩的歌曲数。

说明/提示

在第一个样例中,Ivan 可以压缩第 1 首和第 3 首歌曲,这样所有歌曲的总大小为 8+7+1+5=21218 + 7 + 1 + 5 = 21 \le 21。也可以压缩第 1 首和第 2 首歌曲,此时总大小为 8+4+3+5=20218 + 4 + 3 + 5 = 20 \le 21。注意,仅压缩一首歌曲无法满足要求(例如只压缩第 2 首,总大小为 10+4+3+5=22>2110 + 4 + 3 + 5 = 22 > 21)。

在第二个样例中,即使将所有歌曲都压缩,总大小也为 8+4+1+4=17>168 + 4 + 1 + 4 = 17 > 16,无法全部放进 U 盘。

由 ChatGPT 4.1 翻译

样例

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

在线编程 IDE

建议全屏模式获得最佳体验