zxk19991 2013-11-04 21:23:48
点我顶贴
收藏
删除
var
p,i,j,m,r,l,u,y:longint;
g:array[0..100,0..100,1..2] of longint;
a,b,c:array[1..100] of longint;
begin
read(p);
for i:=1 to p do
begin
read(a[i],b[i],c[i]);
readln;
end;
read(m,r);
fillchar(g,sizeof(g),0);
for i:=1 to p do
for l:=m downto a[i] do
for j:=r downto b[i] do
begin
if (g[l,j,1]<g[l-a[i],j-b[i],1]+1)or((g[l,j,1]=g[l-a[i],j-b[i],1])and(g[l,j,2]>g[l-a[i],j-b[i],2]+c[i]))
then
begin
g[l,j,1]:=g[l-a[i],j-b[i],1]+1;
g[l,j,2]:=g[l-a[i],j-b[i],2]+c[i];
end;
end;
u:=-1000000;
y:=100000;
for l:=0 to m do
for j:=0 to r do
if (g[l,j,1]>u)or((g[l,j,1]=u)and(g[l,j,2]<y))
then
begin
u:=g[l,j,1];
y:=g[l,j,2];
end;
writeln(g[l,j,2]);
end.