```cpp
#include<bits/stdc++.h>//万能库
using namespace std;
struct Milk{
int v,sum;
}a[5010];
bool cmp(const Milk &x,const Milk &y){//sort比较函数
return x.v<y.v;//可以直接这样写,由小到大
}
int main(){
int n,m;
scanf("%d%d",&n,&m);
for(int i=1;i<=m;++i)
scanf("%d%d",&a[i].v,&a[i].sum);
sort(a+1,a+m+1,cmp);
int ans=0;
for(int i=1;i<=m;++i){
if(n<=a[i].sum){//剩余购买数量<=提供数量
ans+=a[i].v*n;break;//买清剩余,弹出
}
ans+=a[i].v*a[i].sum;//买断
n-=a[i].sum;//减去需要数量
}
printf("%d",ans);
return 0;
}
```
我现写的,不过交上去能行
by 斗神·君莫笑 @ 2018-03-30 17:09:20
谢谢,我先看看
by 「 」 @ 2018-03-30 17:10:34
等于的话可以直接退出,
你的cmp和我也不一样
by 斗神·君莫笑 @ 2018-03-30 17:10:49
好像是cmp的原因
by 「 」 @ 2018-03-30 17:23:45
不过有什么区别呢?
by 「 」 @ 2018-03-30 17:24:00
还是谢谢
by 「 」 @ 2018-03-30 17:24:58
errrr
by 清欢_coder @ 2018-03-30 20:51:43
似乎我也WA
POINT KING
by 清欢_coder @ 2018-03-30 20:52:16
我的第六个re是因为数组开小了。。。。。
by 磨子桥蒟蒻 @ 2018-05-13 15:15:58