Cod sursa(job #133885)

Utilizator radu_voroneanuVoroneanu Radu Stefan radu_voroneanu Data 9 februarie 2008 22:10:22
Problema Energii Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.62 kb
const inf=100000000;

var a:array[0..6001] of longint;
    f,g:text;
    minim,n,min,i,j,x,y:longint;

begin
 assign(f,'energii.in'); reset(f);
 assign(g,'energii.out'); rewrite(g);
 read(f,n,minim);
 for i:=1 to minim do
  a[i]:=inf;
 min:=inf;
 for i:=1 to n do begin
  read(f,x,y);
  if (x>=minim) then begin
   if y<min then
    min:=y;
  end
  else begin
   for j:=minim-x to minim do
    if a[j]+y<min then
     min:=a[j]+y;
   for j:=minim downto x do
    if a[j-x]+y<a[j] then
     a[j]:=a[j-x]+y;
  end;
 end;
 if min<>inf then
  writeln(g,min)
 else
  writeln(g,'-1');
 close(f); close(g);
end.