(新人求教!判题正确率92%,有一个答案错误×,求指点!)

题目大致如下:
给定歌曲数量,储存大小与每首歌压缩前后的大小,问最少压缩几首歌才能全部装入,若不能则输出-1.
样例输入:
4 21
10 8
7 4
3 1
5 4
样例输出:
2

解本题时不要被题目吓到,本人一开始看题想到动态规划,定睛一看发现只有能放与不能放两种情况,于是长舒一气。

思路如下:
先判断特殊情况,也就是能否装下,否则输出-1并结束程序
之后统计所有歌曲压缩前的大小总和,并将歌曲以压缩能够节省的空间大小降序排序,已用尽可能少的压缩换取尽可能多的空间
之后循环,一个一个压缩,直到空间可以被容纳

代码如下:

#include <bits/stdc++.h>
using namespace std;
struct A{int y;int x;
} k[100005];
bool cmp(const A &p, const A &q){return p.y - p.x > q.y - q.x;
}
int main(){int n,m, s2 = 0, s1 = 0, ans = 0;cin >> n >> m;for (int i = 0; i < n; i++){cin >> k[i].y >> k[i].x;s2 += k[i].x;s1 += k[i].y;}if (s2 > m) {cout << -1;return 0;}if (s2 == m){cout << 0;return 0;}sort (k, k + n, cmp);for (int i = 0; i < n && s1 > m; i++){s1 -= k[i].y - k[i].x;ans++;}if (s1 <= m)cout << ans;elsecout << -1;return 0;
}

92%?错在哪里了啊 QAQ
求救!


2021.11.20改:
出现一点小失误(#^. ^#)


修改后 [只是把 int(-2147483648~+2141483647)
改成 long long(-9223372036854775808~+9223372036854775807)]:

#include <bits/stdc++.h>
using namespace std;
struct A{int y;int x;
} k[100005];
bool cmp(const A &p, const A &q){return p.y - p.x > q.y - q.x;
}
int main(){long long n,m, s2 = 0, s1 = 0, ans = 0, i;cin >> n >> m;for (i = 0; i < n; i++){cin >> k[i].y >> k[i].x;s2 += k[i].x;s1 += k[i].y;}if (s2 > m) {cout << -1;return 0;}if (s2 == m){cout << 0;return 0;}sort (k, k + n, cmp);for (i = 0; i < n && s1 > m; i++){s1 -= k[i].y - k[i].x;ans++;}if (s1 <= m)cout << ans;elsecout << -1;return 0;
}

END

[C++贪心习题]压缩歌曲相关推荐

  1. 牛客竞赛语法入门班数组模拟、枚举、贪心习题【未完结】

    题目地址: https://ac.nowcoder.com/acm/contest/19851?from=acdiscuss 目录 四舍五入 安卓图案解锁 Captcha Cracker 回文数 [N ...

  2. 2021算法竞赛入门班第一节课枚举贪心习题

    文章目录 1.明明的随机数 2.回文日期 3.校门外的树 4.数学考试 5.Subsequence 6.字符串 7.丢手绢 8.拼数 9.纪念品分组 10.国王的游戏 11.铺地毯 12.「土」巨石滚 ...

  3. AcWing蓝桥杯AB组辅导课07、贪心

    文章目录 前言 一.贪心 模板题 例题1:AcWing 104. 货仓选址(贪心,简单,算法竞赛进阶指南) 分析 题解:贪心思路 例题 例题1:AcWing 1055. 股票买卖 II(贪心.状态机, ...

  4. 举步维艰——回顾CSP2020

    举步维艰--回顾CSP2020 复出 7.20 上一年 CSP-J 水过一等奖之后真丢人 ,转身跳进文化课,结果中考还是炸裂,自主招生也没有过,只有综能保底进了 SMMS . 7.25~7.30 参加 ...

  5. 在平板电脑与移动3G大爆炸的时代,昔日霸主微软的反击

    在Android已经如日中天的时刻,在苹果的市值超过微软的时刻,微软已经意识到错过了未来,但是微软不会坐以待毙,犹如三国争霸的时代,云计算微软投入重兵,但是移动3G,微软会放弃吗? 微软的对抗战略如下 ...

  6. 在平板电脑与移动3G大爆炸的时代 昔日霸主微软的反击

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在And ...

  7. 洛谷-运输(P2094)

    题目链接: 运输问题 问题分析: 初读题目,可能有点搞不懂.题目要求:二当一(两件的价格算一件),并且给出了这个价格是如何计算的.题目的关键点在:如此反复.直到只收一件商品的钱. 分析到这,是否感觉有 ...

  8. 语法入门*算法入门题单

    作者:王清楚 链接:https://ac.nowcoder.com/discuss/817596?type=101&order=0&pos=1&page=4&chann ...

  9. 【新手上路】语法入门算法入门题单

    作者:王清楚 链接:[新手上路]语法入门&算法入门题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 来源:牛客网 介绍:本题单分为语法入门和算法 ...

最新文章

  1. AI服务器的设计与实现
  2. Pandas库DataFrame的排序
  3. 从BMW Vision iNEXT 看宝马如何进军自动驾驶
  4. 记录用户转成超级用户的文件名字_一分钟了解Linux用户
  5. js学习笔记(十二)——语法速查表
  6. php xdebug 中文手册,Xdebug文档(四)函数跟踪
  7. 【Flink】Flink 部分算子是 FinishSHED 不做checnpoint
  8. c3p0连接错误 An attempt by a client to checkout a Connection has timed out.
  9. lodash是否是数组_lodash源码解析:for家族
  10. java实现beamsearch_Beam Search、Tensorflow下如何构建Beam Search
  11. STM32笔记之 FLASH(内存)
  12. 2018年了,Windows2000还能用吗?
  13. 手机里多个PDF合并成一个PDF的免费方法
  14. ###【Python版本】股票行情API:获取A股主流指数成分股st股和次新股日内资金净流入A股个股实时盘口/历史行情数据基本财务数据/现金流量数据央行货币供应数据融资融券历史数据的Api
  15. 揭秘世界最大对撞机:将破解五大科学谜团(图)
  16. Android实现侧滑recycleView+CardVeiw卡片阴影效果
  17. Matrix Concatenate 矩阵串联
  18. 又一微信自动化框架wxauto横空出世了!
  19. SQL执行计划--HIT、SQLPLAN
  20. uniapp 判断用户是否安装app, 没有则安装

热门文章

  1. 互联网时代的“跨界打击”有多厉害?最怕大势将至,你却浑然不知
  2. Qt与脚本初探:QtScript, PyQt, PythonQt, Qt Jambi
  3. HTML期末作业~个人信息展示网站响应式模板(HTML+CSS+JavaScript)
  4. ACPI AML debug and override ACPI tables using initrd
  5. 后台架构设计—数据存储层
  6. 传智播客python培训怎么样
  7. 一位非IT人士的见血封喉 SCM与ERP的异同和尴尬(1)
  8. 浅谈中国洲际潜射弹道导弹巨浪-3”的研制 2017200504012-姚柏全
  9. uva 11355(极角计算)
  10. iOS开发xcode报错:xxxxxxhas been modified since the precompiled header was built