Cod sursa(job #701974)

Utilizator alinutzVasiu Alin alinutz Data 1 martie 2012 18:49:06
Problema Problema rucsacului Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.82 kb
program ruxac_dinamic;
type ruxac=record
    gr,c:integer;
end;
var v:array[1..5000] of ruxac;
    castig:array[0..10001,0..10001] of integer;
    n,g,i,j:integer;

    f,gg:text;

procedure citire;
var i:integer;
begin
     assign(f,'rucsac.in');
     reset(f);
     readln(f,n,g);
     for i:=1 to n do
        readln(f,v[i].gr,v[i].c);
     close(f);
end;

procedure dinamica;
var i,j:integer;
begin
    for i:=1 to n do
      for j:=1 to g do
       if (v[i].gr<=j) and (castig[i-1,j-v[i].gr]+v[i].c>castig[i-1,j]) then
              castig[i,j]:=castig[i-1,j-v[i].gr]+v[i].c
            else
                castig[i,j]:=castig[i-1,j];
end;

begin
        citire;
        assign(gg,'rucsac.out');
        rewrite(gg);
        dinamica;
        writeln(gg,castig[n,g]);
        close(gg);
end.