wower2 2011-08-03 03:34:00
点我顶贴
收藏
删除
program rq162;
Var x,y,m,n,i,j,k,l:longint;
f:array[-2..10001]of longint;
function max(a,b:longint):longint;
begin
if a>b then exit(a);
exit(b);
end;
begin
readln(n,m);
for i:=0 to m do
f[i]:=-maxlongint;
for i:=1 to n do
begin
readln(x,y);
if x>m then continue;
f[x]:=max(y,f[x]);
end;
for i:=2 to m do
for j:=1 to i-1 do
if (f[j]<>-maxlongint)and(f[i-j]<>-maxlongint) then
f[i]:=max(f[i],f[j]+f[i-j]);
write(f[m]);
end.