比赛 NOIP2008集训模拟4 评测结果 AAAAAAAAAA
题目名称 灵魂分流药剂 最终得分 100
用户昵称 francis 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-11-13 10:24:26
显示代码纯文本
program soultap;
const
fin='soultap.in';
fou='soultap.out';
var
w,v,c:array[1..10,1..100]of longint;
l:array[1..10]of longint;
f:array[0..100,0..100]of longint;
t,x1,x2,x3,x4,p,k,a,b,n,m,i,j:longint;
f1,f2:text;

procedure init;
begin
assign(f1,fin);
assign(f2,fou);
reset(f1); rewrite(f2);
read(f1,n,m,a,b);
for i:=1 to n do
begin
 read(f1,x1,x2,x3,x4);
 inc(l[x3]);
 w[x3,l[x3]]:=x1;
 v[x3,l[x3]]:=x2;
 c[x3,l[x3]]:=x4;
end;
end;
procedure main;
begin
for k:=1 to m do
for i:=a downto 1 do
for j:=b downto 1 do
for t:=1 to l[k] do
if (i-w[k,t]>=0)and(j-v[k,t]>=0) then
 begin
  if f[i,j]<f[i-w[k,t],j-v[k,t]]+c[k,t] then
     f[i,j]:=f[i-w[k,t],j-v[k,t]]+c[k,t]
 end;
end;

begin
init;
main;
write(f2,f[a,b]);
close(f1); close(f2);
end.