HJ165 小红的优惠券
题目题解(36)讨论(31)排行入门 通过率49.28% 时间限制1秒 空间限制256M知识点贪心校招时部分企业笔试将禁止编程题跳出页面为提前适应练习时请使用在线自测而非本地IDE。描述小红的购物车结算金额为 nn 元她手中有 mm 张优惠券。第 jj 张优惠券的规则为“满 ajaj 元立减 bjbj 元”即若 n≧ajn≧aj则使用该券后需支付 n−bjn−bj 元。小红至多使用一张优惠券请问最少需要支付多少元输入描述第一行输入两个整数 n,m(1≦n≦105; 1≦m≦100)n,m(1≦n≦105; 1≦m≦100)。接下来 mm 行第 jj 行输入两个整数 aj,bj(1≦bj≦aj≦105)aj,bj(1≦bj≦aj≦105)描述第 jj 张优惠券。输出描述输出一个整数表示小红使用最优策略后需支付的最少金额。示例1输入100 3 300 50 200 30 50 5复制输出95复制说明仅第三张券可用支付 100−595100−595 元。#includebits/stdc.h using namespace std; using lllong long; using ullunsigned long long; using i128__int128_t; using u128__uint128_t; using ldlong double; void solve() { int n,m,x,y; cin n m; vectorintv;//将所有可以使用的卷的优惠金额放进去 while(m--) { cin x y; if(nx) v.push_back(y); } sort(v.begin(),v.end(),greaterint());//降序排序 选出优惠力度最大的卷 if(v.empty()) cout n;//别忘了 一张卷都用不了 要输出n本身 else cout n-v[0]; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t1; //cin t; while(t--) { solve(); } return 0; }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2490606.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!