欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1015C.Songs Compression
Songs Compression
题目描述
Ivan 的手机上有 首歌曲,第 首歌曲的大小为 字节。他还有一个容量最多为 字节的 U 盘,初始时 U 盘为空。
Ivan 想要把所有 首歌曲都复制到 U 盘上。他可以对歌曲进行压缩。如果他压缩第 首歌曲,那么该歌曲的大小会从 字节变为 字节()。
Ivan 可以选择任意一些(可能为空)歌曲进行压缩,只要所有歌曲的总大小不超过 ,就可以全部复制到 U 盘上。被压缩的歌曲不需要连续。
Ivan 想知道,最少需要压缩多少首歌曲,才能使所有歌曲都能放进 U 盘(即所有歌曲的总大小不超过 )。
如果即使压缩所有歌曲也无法全部放进 U 盘,请输出 “-1”。否则请输出最少需要压缩的歌曲数。
输入格式
输入的第一行包含两个整数 和 (),分别表示 Ivan 手机上的歌曲数量和 U 盘的容量。
接下来的 行,每行包含两个整数 和 (),分别表示第 首歌曲原始的大小和压缩后的大小。
输出格式
如果无论如何都无法将所有歌曲放进 U 盘,输出 “-1”。否则输出最少需要压缩的歌曲数。
说明/提示
在第一个样例中,Ivan 可以压缩第 1 首和第 3 首歌曲,这样所有歌曲的总大小为 。也可以压缩第 1 首和第 2 首歌曲,此时总大小为 。注意,仅压缩一首歌曲无法满足要求(例如只压缩第 2 首,总大小为 )。
在第二个样例中,即使将所有歌曲都压缩,总大小也为 ,无法全部放进 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
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |