讨论 / 为什么只有60分
tian 2008-03-30 03:51:00
点我顶贴 收藏 删除
program ddd;

var n,m,i,j,max,rj:longint;

s,a,b:array[0..10000]of longint;

begin

read(n,m);

for i:= 1 to n do

begin

read(a[i],b[i]);

end;

for i:= 1 to m do

s[i]:=-maxlongint;

s[0]:=0;

for i:=1 to m do

begin

max:=-maxlongint;

for j:=1 to n do

begin

if i>=a[j] then

begin

rj:=b[j]+s[i-a[j]];

if rj>max then

max:=rj;

end;

end;

s[i]:=max;

end;

write(s[m]);

end.

查看更多回复
提交回复