```cpp
var n,m,i,j,t,s:longint; p,a:array[1..100000] of longint;
begin
readln(n,m);
for i:=1 to m do read(p[i],a[i]);
for i:=1 to m-1 do
for j:=i+1 to m do
if p[i]>p[j] then begin t:=p[i]; p[i]:=p[j]; p[j]:=t; t:=a[i]; a[i]:=a[j]; a[j]:=t; end;
i:=0;
repeat
inc(i);
if n>=a[i] then begin s:=s+p[i]*a[i]; n:=n-a[i]; end
else begin s:=s+n*p[i]; write(s); exit; end; //改处。
until(n<=0);
write(s);
end.
```
by 百里亦守约_test @ 2017-04-12 07:50:54