0
蔡俊豪
高级守护
高级守护
题目链接: 酷町堂:2605
没有思路随便写的:
#include<iostream>
#include<algorithm>
/*
**制品供应商每月都要去牧场上,从牧民那里收购一定量的新鲜牛奶。
不同的农民可以供应的牛奶的量和价格都不一样。
牛奶企业现在想在收购的牛奶在恰好满足自己需求的基**上,所花费用尽可能少。
请你计算最少的花费是多少。
*/
using namespace std;
struct stu{
long long x,y;
}a[5005];
bool cmp(stu a,stu b){
return a.x<b.x;
}
long long n,m,sum;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a[i].x>>a[i].y;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
if(a[i].x*a[i].y<=n){
sum+=a[i].x*a[i].y;
n-=a[i].x*a[i].y;
}else{
sum+=n*1.0/a[i].x;
break;
}
}
cout<<sum;
return 0;
}
最起码和贪心沾上边了
求思路