gdczf 2008-04-30 23:43:00
点我顶贴
收藏
删除
var n,m,vk,wk,vmax,i,j:longint;
v,w:array[1..25]of integer;
b:array[0..25]of 0..1;
begin
readln(n,m);
for i:=1 to m do
readln(v[i],w[i]);
for i:=1 to m do b[i]:=0;
vmax:=0;
while b[0]=0 do
begin
j:=m;
while b[j]=1 do j:=j-1;
b[j]:=1;
for i:=j+1 to m do b[i]:=0;
vk:=0;
for i:=1 to m do vk:=vk+b[i]*v[i];
wk:=0;
for i:=1 to m do wk:=wk+b[i]*v[i]*w[i];
if (vk<=n)and(wk>vmax) then
vmax:=wk;
end;
writeln(vmax)
end.