Cod sursa(job #148369)
Utilizator | Data | 4 martie 2008 10:59:26 | |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
var g,w,e,c,i,k,ne,mn,poz:longint;
v:array[0..5002]of longint;
begin
assign(input,'energii.in');
reset(input);
read(g,w);
for i:=1 to w do
v[i]:=maxlongint;
for i:=1 to g do
begin
read(e,c);
for k:=w downto 0 do
if (v[k]<>maxlongint) then begin
poz:=k+e;
if (poz>w) then poz:=w;
if(v[k]+c<v[poz])then
begin
v[poz]:=v[k]+c;
end;
end;
end;
close(input);
assign(output,'energii.out');
rewrite(output);
if (v[w]<>maxlongint) then
write(v[w])
else write(-1);
close(output);
end.