[C++贪心习题]压缩歌曲
(新人求教!判题正确率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++贪心习题]压缩歌曲相关推荐
- 牛客竞赛语法入门班数组模拟、枚举、贪心习题【未完结】
题目地址: https://ac.nowcoder.com/acm/contest/19851?from=acdiscuss 目录 四舍五入 安卓图案解锁 Captcha Cracker 回文数 [N ...
- 2021算法竞赛入门班第一节课枚举贪心习题
文章目录 1.明明的随机数 2.回文日期 3.校门外的树 4.数学考试 5.Subsequence 6.字符串 7.丢手绢 8.拼数 9.纪念品分组 10.国王的游戏 11.铺地毯 12.「土」巨石滚 ...
- AcWing蓝桥杯AB组辅导课07、贪心
文章目录 前言 一.贪心 模板题 例题1:AcWing 104. 货仓选址(贪心,简单,算法竞赛进阶指南) 分析 题解:贪心思路 例题 例题1:AcWing 1055. 股票买卖 II(贪心.状态机, ...
- 举步维艰——回顾CSP2020
举步维艰--回顾CSP2020 复出 7.20 上一年 CSP-J 水过一等奖之后真丢人 ,转身跳进文化课,结果中考还是炸裂,自主招生也没有过,只有综能保底进了 SMMS . 7.25~7.30 参加 ...
- 在平板电脑与移动3G大爆炸的时代,昔日霸主微软的反击
在Android已经如日中天的时刻,在苹果的市值超过微软的时刻,微软已经意识到错过了未来,但是微软不会坐以待毙,犹如三国争霸的时代,云计算微软投入重兵,但是移动3G,微软会放弃吗? 微软的对抗战略如下 ...
- 在平板电脑与移动3G大爆炸的时代 昔日霸主微软的反击
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在And ...
- 洛谷-运输(P2094)
题目链接: 运输问题 问题分析: 初读题目,可能有点搞不懂.题目要求:二当一(两件的价格算一件),并且给出了这个价格是如何计算的.题目的关键点在:如此反复.直到只收一件商品的钱. 分析到这,是否感觉有 ...
- 语法入门*算法入门题单
作者:王清楚 链接:https://ac.nowcoder.com/discuss/817596?type=101&order=0&pos=1&page=4&chann ...
- 【新手上路】语法入门算法入门题单
作者:王清楚 链接:[新手上路]语法入门&算法入门题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 来源:牛客网 介绍:本题单分为语法入门和算法 ...
最新文章
- AI服务器的设计与实现
- Pandas库DataFrame的排序
- 从BMW Vision iNEXT 看宝马如何进军自动驾驶
- 记录用户转成超级用户的文件名字_一分钟了解Linux用户
- js学习笔记(十二)——语法速查表
- php xdebug 中文手册,Xdebug文档(四)函数跟踪
- 【Flink】Flink 部分算子是 FinishSHED 不做checnpoint
- c3p0连接错误 An attempt by a client to checkout a Connection has timed out.
- lodash是否是数组_lodash源码解析:for家族
- java实现beamsearch_Beam Search、Tensorflow下如何构建Beam Search
- STM32笔记之 FLASH(内存)
- 2018年了,Windows2000还能用吗?
- 手机里多个PDF合并成一个PDF的免费方法
- ###【Python版本】股票行情API:获取A股主流指数成分股st股和次新股日内资金净流入A股个股实时盘口/历史行情数据基本财务数据/现金流量数据央行货币供应数据融资融券历史数据的Api
- 揭秘世界最大对撞机:将破解五大科学谜团(图)
- Android实现侧滑recycleView+CardVeiw卡片阴影效果
- Matrix Concatenate 矩阵串联
- 又一微信自动化框架wxauto横空出世了!
- SQL执行计划--HIT、SQLPLAN
- uniapp 判断用户是否安装app, 没有则安装
热门文章
- 互联网时代的“跨界打击”有多厉害?最怕大势将至,你却浑然不知
- Qt与脚本初探:QtScript, PyQt, PythonQt, Qt Jambi
- HTML期末作业~个人信息展示网站响应式模板(HTML+CSS+JavaScript)
- ACPI AML debug and override ACPI tables using initrd
- 后台架构设计—数据存储层
- 传智播客python培训怎么样
- 一位非IT人士的见血封喉 SCM与ERP的异同和尴尬(1)
- 浅谈中国洲际潜射弹道导弹巨浪-3”的研制 2017200504012-姚柏全
- uva 11355(极角计算)
- iOS开发xcode报错:xxxxxxhas been modified since the precompiled header was built