洛谷1208[USACO1.3]混合牛奶 Mixing Milk
程序员文章站
2022-07-16 11:56:47
...
https://www.luogu.com.cn/problem/P1208
代码:
#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;
}