不改才50!!!奇怪
---------------------------------------------------
f,t:array[0..1000,0..1000] of qword;
-----------------------------------------------------
代码:
program P57;
var
n,m,r,i,j,k,max,min:longint;
f,t:array[0..1000,0..1000] of qword;
rmb,rp,time:array[1..1000] of longint;
begin
readln(n);
for i:=1 to n do readln(rmb[i],rp[i],time[i]);
readln(m,r);
for i:=1 to m do
for j:=1 to r do
t[i,j]:=maxlongint;
for i:=1 to n do
for j:=m downto rmb[i] do
for k:=r downto rp[i] do
if f[j,k]<f[j-rmb[i],k-rp[i]]+1 then
begin
f[j,k]:=f[j-rmb[i],k-rp[i]]+1;
t[j,k]:=t[j-rmb[i],k-rp[i]]+time[i];
end
else
if f[j,k]=f[j-rmb[i],k-rp[i]]+1 then
if t[j,k]>t[j-rmb[i],k-rp[i]]+time[i] then
t[j,k]:=t[j-rmb[i],k-rp[i]]+time[i];
min:=maxlongint;
for i:=1 to m do
for j:=1 to r do
if (f[i,j]>max)or((f[i,j]=max)and(t[i,j]<min))then
begin
max:=f[i,j];
min:=t[i,j];
end;
writeln(min);
end.