下面就是源代碼:
var
m,t,i,j:longint;
f:array[0..1000000]
of
longint;
a,b:array[0..600]
of
longint;
begin
readln(t,m);
for
i:=1
to
m
do
readln(a[i],b[i]);
fillchar(f,sizeof(f),0);
for
i:=1
to
m
do
for
j:=t
downto
a[i]
do
if
f[j]<f[j-a[i]]+b[i]
then
f[j]:=f[j-a[i]]+b[i];
writeln(f[t]);
end.
如果要用文件形式的話就是:
var
m,t,i,j:longint;
f:array[0..1000000]
of
longint;
a,b:array[0..600]
of
longint;
begin
assign(input,'文件名.in');
reset(input);
assign(output,'文件名.out');
rewrite(output);
readln(t,m);
for
i:=1
to
m
do
readln(a[i],b[i]);
fillchar(f,sizeof(f),0);
for
i:=1
to
m
do
for
j:=t
downto
a[i]
do
if
f[j]<f[j-a[i]]+b[i]
then
f[j]:=f[j-a[i]]+b[i];
writeln(f[t]);
close(input);
close(output);
end.
謝謝,祝妳好運。