讨论 / 80!啊啊啊啊啊啊啊啊啊啊!!!!!!!!!!!
wujingyu 2013-11-08 05:33:57
点我顶贴 收藏 删除
var v,p,a:array[0..30000] of integer;

i,n,m,q,s,max:longint;

begin

readln(m,n);

for i:=1 to n do readln(v[i],p[i]);

repeat

s:=0;q:=0;

a[n]:=a[n]+1;

for i:=n downto 1 do if a[i]=2 then begin a[i-1]:=a[i-1]+1;a[i]:=0;end;

for i:=1 to n do

if a[i]=1 then begin s:=s+v[i]*p[i];q:=q+v[i];if q>m then break;end;

if (s>max)and(q<=m) then max:=s;

until a[0]=1;

writeln(max);

end.

查看更多回复
提交回复