Cod sursa(job #148368)
var g,w,e,c,max,i,k,ne,mn,poz:longint;
v:array[0..5002]of longword;
begin
assign(input,'energii.in');
reset(input);
read(g,w);
for i:=1 to w do
v[i]:=maxlongint;
max:=0;
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[poz]<>maxlongint) then
write(v[poz])
else write(-1);
close(output);
end.