记录编号 8384 评测结果 AAAAAAAAAA
题目名称 [BYVoid S1] 灵魂分流药剂 最终得分 100
用户昵称 GravatarAchilles 是否通过 通过
代码语言 Pascal 运行时间 0.093 s
提交时间 2008-11-13 20:49:22 内存使用 0.19 MiB
显示代码纯文本
program soultap;
var
  hx:array[0..100,0..100]of record
    data:longint;
    t:integer;
  end;
  sz:array[0..100]of record
    w,v,t,p:longint;
  end;
  i,j,k,n,m,a,b,max:longint;
begin
  assign(input,'soultap.in');
  assign(output,'soultap.out');
  reset(input);
  rewrite(output);
  readln(n,m,a,b);
  for i:=1 to n do
    readln(sz[i].w,sz[i].v,sz[i].t,sz[i].p);
  for i:=1 to n-1 do
    for j:=i+1 to n do
      if sz[i].t>sz[j].t then begin
        sz[0]:=sz[i];
        sz[i]:=sz[j];
        sz[j]:=sz[0];
      end;
  fillchar(hx,sizeof(hx),0);
  max:=0;
  for i:=1 to n do
  begin
    for j:=a downto 0 do
    begin
      for k:=b downto 0 do
      begin
        if (j+sz[i].w<=a)and(k+sz[i].v<=b) then
        if (hx[j,k].data+sz[i].p>hx[j+sz[i].w,k+sz[i].v].data)and(hx[j,k].t<>sz[i].t)and(hx[j,k].data<>0)
        then begin
          hx[j+sz[i].w,k+sz[i].v].data:=hx[j,k].data+sz[i].p;
          hx[j+sz[i].w,k+sz[i].v].t:=sz[i].t;
          if hx[j+sz[i].w,k+sz[i].v].data>max then max:=hx[j+sz[i].w,k+sz[i].v].data;
        end;
      end;
    end;
    j:=0;
    k:=0;
    if (j+sz[i].w<=a)and(k+sz[i].v<=b) then
    if (hx[j,k].data+sz[i].p>hx[j+sz[i].w,k+sz[i].v].data)and(hx[j,k].t<>sz[i].t)
    then begin
      hx[j+sz[i].w,k+sz[i].v].data:=hx[j,k].data+sz[i].p;
      hx[j+sz[i].w,k+sz[i].v].t:=sz[i].t;
      if hx[j+sz[i].w,k+sz[i].v].data>max then max:=hx[j+sz[i].w,k+sz[i].v].data;
    end;
  end;
  writeln(max);
  close(input);
  close(output);
end.