Cod sursa(job #1568019)

Utilizator mirelabocsabocsa mirela mirelabocsa Data 13 ianuarie 2016 21:07:35
Problema Energii Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.08 kb
program mire;
const inf=99999999;
var f,g:text;
     n,w:integer;
     s:longint;
     e,c:array[0..1002] of integer;
     a:array[0..1002,0..5002] of longint;
 procedure citire;
var i:integer;
begin
  assign(f,'energii.in'); reset(f);
  assign(g,'energii.out'); rewrite(g);
   readln(f,n);
   readln(f,w);
   for i:=1 to n do
     begin
       readln(f,e[i],c[i]);
       s:=s+e[i];
     end;
  close(f);
end;
procedure dinamica;
var i,j:integer;
begin
  for i:=0 to 2 do
    for j:=0 to w do
      a[i,j]:= inf;
    for i:=1 to n do
      for j:=0 to w do
        if e[i]<j then
           begin
              if a[i-1,j]<a[i-1,j-e[i]]+c[i] then
                 a[i,j]:=a[i-1,j]
               else
                a[i,j]:=a[i-1,j-e[i]]+c[i];
           end
         else
           begin
             if a[i-1,j]<c[i] then
               a[i,j]:=a[i-1,j]
             else
              a[i,j]:=c[i];
           end;
        writeln(g,a[n,w]);
end;
begin
  s:=0;
  citire;
    if s<w then
      writeln(g,-1)
    else
     dinamica;
  close(g);

end.