• Mixing Milk


    链接

    分析:水题,按照价格从小到大排序,在进行贪心即可

    /*
        PROB:milk
        ID:wanghan
        LANG:C++
    */
    #include "iostream"
    #include "cstdio"
    #include "cstring"
    #include "string"
    #include "algorithm"
    using namespace std;
    const int maxn= 5000+10;
    struct Node{
        int p,a;
    };
    Node h[maxn];
    bool cmp(Node x,Node y){
        if(x.p==y.p)
            return x.a>y.a;
        return x.p<y.p;
    }
    int m;
    long long n;
    int main()
    {
        freopen("milk.in", "r", stdin);  
        freopen("milk.out", "w", stdout);
        cin>>n>>m;
        for(int i=0;i<m;i++)
            cin>>h[i].p>>h[i].a;
        sort(h,h+m,cmp);
        long long ans=0;
        int flag=0;
        /*if(n>=h[0].a){
            n-=h[0].a;
            ans+=(h[0].p*h[0].a);
            if(n==0) flag=1;
        }else{
            flag=1;
            ans+=(h[0].a-n)*h[0].p;
            //n=-1;
        }*/
        //cout<<ans<<endl;
        for(int i=0;i<m;i++){
            if(flag)  break;
            if(n>=h[i].a){
                n-=h[i].a;
                ans+=(h[i].a*h[i].p);
                if(n==0)  flag=1;
            }else{
                ans+=n*h[i].p;
                n=-1;
                flag=1;
            }
        }
        cout<<ans<<endl;
    }
    View Code
  • 相关阅读:
    Java基础知识整理
    HashMap源码解读(JDK1.7)
    书籍列表
    mysql4
    mysql3
    mysql2
    mysql1
    数据结构4
    数据结构3
    数据结构2
  • 原文地址:https://www.cnblogs.com/wolf940509/p/6973918.html
Copyright © 2020-2023  润新知