[CF1211C] Ice Cream - 贪心

Posted mollnn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[CF1211C] Ice Cream - 贪心相关的知识,希望对你有一定的参考价值。

(n) 天时间来买一种物品,一共要买 (k) 件,第 (i) 天可以购买的范围是 ([a_i,b_i]),单价 (c_i),求最小总花费

Solution

暴力贪心,从最便宜的开始买即可

写完才发现原题要求用 Kotlin,我当做没看见了

主要是借着这题试用了一下 lambda 表达式

#include <bits/stdc++.h>
using namespace std;

#define int long long
const int N = 1000005;
struct tup {
    int a,b,c;
} t[N];

int n,k;

signed main() {
    ios::sync_with_stdio(false);
    cin>>n>>k;
    int ans=0;
    for(int i=1;i<=n;i++) {
        cin>>t[i].a>>t[i].b>>t[i].c;
        ans+=t[i].c*t[i].a;
        k-=t[i].a;
        t[i].b-=t[i].a;
    }
    sort(t+1,t+n+1,[](tup x,tup y)->bool{return x.c<y.c;});
    for(int i=1;i<=n;i++) {
        if(k<=0) continue;
        int tmp=min(k,t[i].b);
        ans+=t[i].c*tmp;
        k-=tmp;
    }
    if(k>0||k<0) cout<<"-1";
    else cout<<ans;
}

以上是关于[CF1211C] Ice Cream - 贪心的主要内容,如果未能解决你的问题,请参考以下文章

Problem D. Ice Cream Tower

The 2016 ACM-ICPC Asia China-Final Contest Gym - 101194D Ice Cream Tower

tyvj1117 拯救ice-cream

Ice Cream Tower

hdu 2121 Ice_cream’s world II

E. Sonya and Ice Cream(开拓思维)