Codeforces Round #415 (Div. 2) B. Summer sell-off(贪心+结构体排序)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #415 (Div. 2) B. Summer sell-off(贪心+结构体排序)相关的知识,希望对你有一定的参考价值。

题目链接:http://codeforces.com/contest/810/problem/B

题意:给定天数和货物可以翻倍的天数,每天都有一定的货物量和顾客数,问怎么样货物才能卖得最多(前一天的货物不会留到下一天,每个顾客只能买一个货物)。

简单的贪心问题,贪心策略是:如果两倍的货物量卖出去的更多,就选两倍的,否则就选一倍的。

那一天能卖出去的货物量:min(货物量,顾客数)。然后根据结构体排序一下就ok了

 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 
 5 const int N=1e5+10;
 6 
 7 struct TnT{
 8     long long k;
 9     long long l;
10 }T[N];
11 
12 bool cmp(TnT a,TnT b){
13     return (min(2*a.k,a.l)-min(a.k,a.l))>(min(2*b.k,b.l)-min(b.k,b.l));
14 }
15 
16 int main(){
17     long long n,f,res=0;
18     cin>>n>>f;
19     for(int i=0;i<n;i++){
20         cin>>T[i].k>>T[i].l;
21     }
22     sort(T,T+n,cmp);
23     for(int i=0;i<n;i++){
24         if(f>0) {res+=min(2*T[i].k,T[i].l);f--;}
25         else res+=min(T[i].k,T[i].l);
26     }
27     cout<<res<<endl;
28     return 0;
29 }

 

以上是关于Codeforces Round #415 (Div. 2) B. Summer sell-off(贪心+结构体排序)的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #415 (Div. 2)(A,暴力,B,贪心,排序)

Codeforces Round #415 (Div. 2)

(二分)Codeforces Round #415 (Div. 2) D-Glad to see you!

Codeforces Round #415 (Div. 2) C. Do you want a date?

Codeforces Round #415 (Div. 2) B. Summer sell-off(贪心+结构体排序)

Codeforces Round #436 E. Fire(背包dp+输出路径)