Cod sursa(job #929347)

Utilizator TrifanTTrifan TrifanT Data 26 martie 2013 23:18:40
Problema Problema rucsacului Scor 80
Compilator fpc Status done
Runda Arhiva educationala Marime 0.52 kb
var g, c, a: array[0..10000] of longint;
    n, i, j, gmax: longint;

function max: longint;
begin
max:=a[j];
if j-g[i]>=0 then
if a[j]<(a[j-g[i]]+c[i]) then max:=a[j-g[i]]+c[i];
end;

begin
 assign(input,'rucsac.in');
 reset(input);
 assign(output,'rucsac.out');
 rewrite(output);

 readln(n, gmax);
 for i:=1 to n do readln(g[i], c[i]);

 for i:=0 to gmax do a[i]:=0;

 for i:=1 to n do
    for j:=gmax downto 1 do if g[i]<=j then a[j]:=max;

 writeln(a[gmax]);

 close(input);
 close(output);
end.