program jiang;
var
f,a,b:array [0..10000] of longint;
n,m,i,j:longint;
begin
readln(n,m);
for i:=1 to n do
readln(a[i],b[i]);
fillchar(f,sizeof(f),0);
f[0]:=1;
for i:=1 to m do
for j:=1 to n do
if (i-a[j]>=0) and (f[i-a[j]]+b[j]>f[i]) and (f[i-a[j]]<>0) then f[i]:=f[i-a[j]]+b[j];
writeln(f[m]-1);
end.
第二个 也不对 我把1改为a【j】就过了为什么啊
program jiang;
var
f,a,b:array [0..10000] of longint;
n,m,i,j:longint;
begin
readln(n,m);
for i:=1 to n do
readln(a[i],b[i]);
fillchar(f,sizeof(f),0);
f[0]:=1;
for j:=1 to n do
for i:=1 to m do
if (i-a[j]>=0) and (f[i-a[j]]+b[j]>f[i]) and (f[i-a[j]]<>0) then f[i]:=f[i-a[j]]+b[j];
writeln(f[m]-1);
end.
program jiang;
var
f,a,b:array [0..10000] of longint;
n,m,i,j:longint;
begin
readln(n,m);
for i:=1 to n do
readln(a[i],b[i]);
fillchar(f,sizeof(f),0);
f[0]:=1;
for j:=1 to n do
for i:=a[j] to m do
if (i-a[j]>=0) and (f[i-a[j]]+b[j]>f[i]) and (f[i-a[j]]<>0) then f[i]:=f[i-a[j]]+b[j];
writeln(f[m]-1);
end.