施支林 2016-06-16 02:59:59
点我顶贴
收藏
删除
Var
i,j,t,k,todal,n,m:longint;
a,b:array[1..25]of integer;
c:array[1..25]of boolean;
Begin
readln(n,m);
for i:=1 to m do
readln(a[i],b[i]);
for i:=1 to m do
for j:=1 to m do
if b[j]<b[j+1] then
begin
t:=b[j]; b[j]:=b[j+1]; b[j+1]:=t;
t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t;
end;
todal:=0;
fillchar(c,sizeof(c),true);
for i:=1 to m do
if c[i] and (todal+a[i]<=n) then
begin
todal:=todal+a[i];
k:=k+a[i]*b[i];
c[i]:=false;
end;
writeln(k);
readln;
end.