ACM 训练日志记录 · 思考 · 成长 提交 / 修改记录
郭一鸣 / 题目列表训练档案
导出

P1208 [USACO1.3] 混合牛奶 Mixing Milk

来源:洛谷 ★ 1000

本题活力0.28按难度、完成结果与训练证据估算

算法如山行则将至

题目描述

购买牛奶,满足每日需求,最小化总成本。

代码

#include<iostream>
#include<algorithm>
using namespace std;
struct cow
{
    int p,a;
}b[5010];
bool cmp(cow x,cow y)
{
    return x.p<y.p;
}
int main()
{
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=m;i++)cin>>b[i].p>>b[i].a;
    sort(b+1,b+m+1,cmp);
    long long ans=0;
    for(int i=1;i<=m;i++)
    {
        if(n>=b[i].a)
        {
            ans+=b[i].p*b[i].a;
            n-=b[i].a;
        }
        else
        {
            ans+=b[i].p*n;
            break;
        }
    }
    cout<<ans<<endl;
    return 0;
}