0
袁瑞琳
中级守护
中级守护
/*
贪心策略:按照单价从小到大排序
遍历每个饼干
如果需要的产量数够
全买
产量数减去当前饼干的产量数
否则
买:剩下的产量数×当前饼干的单价
跳出循环
*/
#include <iostream>
#include <algorithm>
using namespace std;
struct node{
long long p,s;
}a[2000005];
bool cmp(node x,node y)
{
return x.p<y.p;
}
long long m,n,s;
int main() {
cin>>m>>n;
for(int i=1;i<=n;i++)
cin>>a[i].p>>a[i].s;
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++)
{
if(m>=a[i].s)
{
m-=a[i].s;
s+=a[i].s*a[i].p;
}
else
{
s+=m*a[i].p;
break;
}
}
cout<<s;
return 0;
}
WA 80分!
求大佬帮助!
袁瑞琳在2021-08-29 11:06:39追加了内容
啊!