Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #199743) | Cod sursa (job #492721) | Cod sursa (job #1071491)
const inf=99999;
var e,c:array[1..1001] of longint;
i,j,k,g,w:longint;
mn,minus:longint;
a,b:array[1..5002] of longint;
begin
assign(input,'energii.in');
assign(output,'energii.out');
reset(input);
rewrite(output);
readln(g);
readln(w);
mn:=inf;
for i:=1 to g do
begin
read(e[i]); readln(c[i]);
inc(minus,e[i]);
end;
if minus<w then write('-1') else
begin
for i:=1 to 5001 do
begin
a[i]:=inf;
b[i]:=inf;
end;
for i:=1 to g do
if a[e[i]]=inf then a[e[i]]:=c[i];
for k:=1 to 5001 do
b[k]:=a[k];
for i:=1 to g do
begin
for k:=1 to 5001 do
b[k]:=a[k];
for j:=1 to 5001 do
if j-e[i]>0 then
if a[j]>b[j-e[i]]+c[i] then a[j]:=b[j-e[i]]+c[i];
end;
for i:=w to 5001 do
if mn>a[i] then mn:=a[i];
write(mn);
end;
close(input);
close(output);
{Si totusi este trist in lume.}
end.