Cod sursa(job #29226)

Utilizator mihai_floreaFlorea Mihai Alexandru mihai_florea Data 8 martie 2007 19:56:59
Problema Energii Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.85 kb
program Energii;
const Inf=999999999;
var a,b:array[1..5002]of longint;
    eg,cg:array[1..1002]of integer;
    f:text;
    n,w:integer;
procedure Citeste;
var i:integer;
begin
assign(f,'energii.in');reset(f);
readln(f,n);
readln(f,w);
for i:=1 to n do readln(f,eg[i],cg[i]);
close(f);
end;
procedure Rezolva;
var i,j:integer;
begin
for j:=1 to w do a[j]:=Inf;
for j:=1 to w do if eg[1]>=j then a[j]:=cg[1];
for i:=2 to n do
 begin
 for j:=1 to w do
   if eg[i]>=j then
   begin
   if cg[i]<a[j] then b[j]:=cg[i]
                     else b[j]:=a[j];
   end
   else
   if a[j-eg[i]]+cg[i]<a[j] then b[j]:=a[j-eg[i]]+cg[i]
                                    else b[j]:=a[j];
 a:=b;
 end;
assign(f,'energii.out');rewrite(f);
if a[w]<>inf then write(f,a[w])
             else write(f,-1);
close(f);
end;
begin
Citeste;
Rezolva;
end.