CodeForces #415(div2) Summer sell-off(贪心)
来源:互联网 发布:淘宝抠图兼职怎么找 编辑:程序博客网 时间:2024/05/24 08:32
一开始想这个题的时候按照一个错误的标准贪心。以为按照min(k*2,l)这样从大到小排一下取前n个进行加倍后面的都按照min(k,l)取就行了。但是这样如果本身l就小于k加倍和不加倍所得到的是一样的,就浪费了加倍的机会。
于是就有下面的思路。
思路:先按照加倍后商品能多卖出去的件数more来排序,如果more相等那么就按照能卖出去多的排序,因为存在more都为0,但是卖出的件数是不相同的可能。
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#define MAX_N 100500using namespace std;struct node{ int k,l,more,sell;}q[MAX_N];bool cmp(node a,node b){ if(a.more!=b.more) return a.more>b.more; return a.sell>b.sell;}int main(){ int f,n; while(~scanf("%d%d",&f,&n)) { for(int i=0;i<f;i++) { scanf("%d%d",&q[i].k,&q[i].l); if(q[i].k<q[i].l) { if(q[i].k*2>q[i].l) q[i].more=q[i].l-q[i].k; else q[i].more=q[i].k; } else q[i].more=0; q[i].sell=min(q[i].k*2,q[i].l); } sort(q,q+f,cmp); long long ans=0; for(int i=0;i<n;i++) ans+=q[i].sell; for(int i=n;i<f;i++) ans+=min(q[i].l,q[i].k); cout<<ans<<endl; } return 0;}
阅读全文
0 0
- CodeForces #415(div2) Summer sell-off(贪心)
- Codeforces Round #415 B Summer sell-off
- CodeForces 810B Summer sell-off 【贪心】【排序】
- Codeforces Round #415 (Div. 2) B. Summer sell-off
- Codeforces Round #415 (Div. 2) B. Summer sell-off
- 平常水题 — Codeforces Round #415 (Div. 2) B. Summer sell-off (贪心 + 错误总结)
- Codeforces 810B Summer sell-off 题解
- 【Codeforces 808 B. Summer sell-off】
- Summer sell-off (Codeforces-810B)
- CodeForces 810B——Summer sell-off ——贪心
- cf Summer sell-off
- Codeforces Round #415 (Div. 2)B. Summer sell-off (水题)
- CodeFroces 810B Summer sell-off
- Codeforces Round #437 div2-贪心&好题-Buy Low Sell High
- Codeforces Round #274(Div2) B. Towers 贪心
- Codeforces Round #274(Div2) C. Exams 贪心
- 股市抛售 sell-off
- Codeforces #227(Div2) E. George and Cards 贪心+二分
- 51nod 1011 最大公约数GCD
- 多态中成员的特点
- 解决nodejs异步数据延迟 解决方案
- android网络请求的图片轮播效果
- TabLayout标题栏传值+PullToRefreshListView展示数据
- CodeForces #415(div2) Summer sell-off(贪心)
- Android 应用实现开机启动
- HDU 3507 Print Article (斜率优化DP)
- 9.多项式拟合
- EA&UML日拱一卒-活动图::14.2 Behavior StateMachines (5)
- 深度学习——GoogleLeNet网络
- 三维重建概述
- STM32之串口例程
- 华氏温度和摄氏温度互相转换