题解:本题主要考查贪心,先排序牛奶的单价,然后在判断牛奶的产量是否够不够就下一个。
代码如下:
#include<algorithm>
using namespace std;
int n,m,ans=0;
struct N
{
int a,p;
}t[9835798];
int cmp(N x,N y)
{
return x.p<y.p;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
cin>>t[i].p>>t[i].a;
sort(t+1,t+m+1,cmp);
for(int i=1;i<=m;i++)
if(n>0)
{
if(n>t[i].a)
{
n-=t[i].a;
ans+=t[i].p*t[i].a;
}
else if(n<=t[i].a)
{
ans+=t[i].p*n;
n-=t[i].a;
}
}
cout<<ans;
cin>>n;
return 0;
}