```cpp
#include <bits/stdc++.h>
using namespace std;
int n,m;
struct milk
{
int pi,ai;
}mk[2000000];
int read(){
int k=0,f=1;
char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
while(c>='0'&&c<='9'){k=k*10+c-'0';c=getchar();}
return k*f;
}
bool cmp(milk a,milk b)
{
return a.pi<b.pi;
}
int main()
{
n=read();m=read();
for(int i=0;i<m;i++)
{
mk[i].pi=read();mk[i].ai=read();
}
sort(mk,mk+m,cmp);
int i=0,mon=0;
while(1)
{
if(n>=mk[i].ai)
{
mon+=mk[i].ai*mk[i].pi;
n-=mk[i].ai;
}
else
{
mon+=mk[i].pi*n;
break;
}
i++;
}
printf("%d",mon);
return 0;
}
```
快读+O2成功88分
by hard_fang @ 2022-07-19 16:17:40
@[Dora2011](/user/747070)
by hard_fang @ 2022-07-19 16:18:00
@[Dora2011](/user/747070) 给i加一个上限判断
by flame_soul @ 2022-07-19 16:23:32
我其实是一个小地方错了,有人私信告诉我了,已经全部AC了。@[hard_fang](/user/608410) @flame_soul谢谢
by jyhDora2011 @ 2022-07-24 15:56:30