USACO-Section1.3 Mixing Milk

来源:互联网 发布:眉目含情知乎 编辑:程序博客网 时间:2024/05/16 19:52

Mixing Milk

2017.05.30

题解

贪心法,按价格排序,从低开始选取足够的牛奶。

代码

/*ID: xhzdcyy1PROB: milkLANG: C++         */#include <iostream>#include <fstream>#include <string>#include <algorithm>#define cin fin#define cout fout using namespace std;ofstream fout ("milk.out");ifstream fin ("milk.in");struct node{    int p;    int a;}arr[5000];bool cmp(node a,node b){    return a.p-b.p<0;}int main(){    int n,m;    cin>>n>>m;    for(int i=0;i<m;i++){        cin>>arr[i].p>>arr[i].a;    }    sort(arr,arr+m,cmp);    int cost=0;    for(int i=0;n>0;i++){        if(n>=arr[i].a){            cost+=arr[i].a*arr[i].p;            n-=arr[i].a;        }        else{            cost+=n*arr[i].p;            n=0;        }    }    cout<<cost<<endl;    return 0; }