欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

洛谷1208[USACO1.3]混合牛奶 Mixing Milk

程序员文章站 2022-07-16 11:56:47
...

https://www.luogu.com.cn/problem/P1208洛谷1208[USACO1.3]混合牛奶 Mixing Milk

代码:

#include <iostream>
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;

struct milk
{
    int p,a;//p为单价,a为牛奶量
}a[200005];

bool cmp(milk a,milk b)
{
    return a.p<b.p;//单价从小到大排序
}
int main()
{
    int n,m,i;//n为牛奶量,m为农民个数
    int sum=0,money=0;
    scanf("%d %d",&n,&m);
    for(i=1;i<=m;i++)
    {
        scanf("%d %d",&a[i].p,&a[i].a);
    }
    sort(a+1,a+m+1,cmp);
    for(i=1;i<=m;i++)
    {
        if(n-sum>0)
        {
            if(a[i].a<=n-sum)
            {
                money=money+a[i].p*a[i].a;
                sum=sum+a[i].a;
            }
            else
            {
                money=money+a[i].p*(n-sum);
                sum=sum+a[i].a;
            }
        }
        else
            break;
    }
    printf("%d\n",money);
    return 0;
}
相关标签: c语言