Cod sursa(job #2183161)

Utilizator _Victor_Victor Ciobanu _Victor_ Data 22 martie 2018 21:11:08
Problema Energii Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.74 kb
Program Energii;
type nmax=0..100000;
gener = record
 e,c:nmax;
 end;
vect = array[nmax] of gener;
var a:vect;
b:array[nmax] of longint;
i,j,n:nmax;
w:longint;
f,g:text;
function min(a,b:longint):longint;
begin
if a = 0 then begin
 min:=b;
 exit;
 end;
 if a>b then
  min:=b
  else min:=a;
end;
begin
assign(f,'e.in');
assign(g,'e.out');
reset(f);
rewrite(g);
readln(f,n,w);
for i:=1 to n do begin
   readln(f,a[i].e,a[i].c);
   b[i]:=0;
  end;
for i:=1 to n do begin
  for j:=w downto a[i].e do begin
    if b[j-a[i].e] <> 0 then b[j]:=min(b[j],b[j-a[i].e]+a[i].c)
   else if j-a[i].e = 0  then  b[j]:=min(b[j],a[i].c);
    end;
   end;
if b[w]=0 then write(g,'-1')
else write(g,b[w]);
close(f);
close(g);
end.