Cod sursa(job #1072037)

Utilizator DjokValeriu Motroi Djok Data 3 ianuarie 2014 20:45:34
Problema Energii Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.93 kb
const inf=99999;
 var e,c:array[1..1001] of longint;
     i,j,k,g,w:longint;
     mn,minus:longint;
     dp:array[0..1001,0..5002] of longint;

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

 readln(g);
 readln(w);
     mn:=inf;
  for i:=1 to g do
   begin
    read(e[i]); readln(c[i]);
    inc(minus,e[i]);
   end;
 if minus<w then write('-1') else
  begin
   for i:=0 to w do
     dp[0][i]:=inf;

     for i:=1 to g do
      for j:=0 to w do
        if j>=e[i] then if dp[i-1][j-e[i]]+c[i]<dp[i-1][j] then dp[i][j]:=dp[i-1][j-e[i]]+c[i]
                                                           else dp[i][j]:=dp[i-1][j]
                   else if dp[i-1][j]>c[i] then dp[i][j]:=c[i]
                                           else dp[i][j]:=dp[i-1][j];

    write(dp[g][w-1]);
 end;





close(input);
close(output);
{Si totusi este trist in lume.}
end.