Cod sursa(job #1677420)

Utilizator OnRealNOOrz Nichita OnRealNO Data 6 aprilie 2016 16:01:16
Problema Energii Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.95 kb
program energii;
function max(a,b:integer):integer;
begin
        if a>b then max:=a else max:=b;
end;
        var d:array [0..1001,0..5001] of integer;
            eg,cg:array [0..1001] of integer;
            w,g,i,j:integer;
            fi,fo:text;
begin
        assign(fi,'energii.in');
        assign(fo,'energii.out');
        reset(fi);
        rewrite(fo);
        readln(fi,g,w);
        for i:=1 to g do readln(fi,eg[i],cg[i]);
        for i:=0 to w do d[0,i]:=0;
        for i:=1 to g do begin
                                 for j:=0 to w do begin
                                                          if eg[i]<=j then d[i,j]:=max(d[i-1,j],d[i-1,j-eg[i]]+cg[i])
                                                                      else d[i,j]:=d[i-1,j];
                                                  end;
                         end;
        writeln;
        writeln(fo,d[g,w]);
        close(fi);
        close(fo);
end.