Pagini recente » Cod sursa (job #376577) | Cod sursa (job #1523027) | Cod sursa (job #1450622) | Cod sursa (job #285473) | Cod sursa (job #326299)
Cod sursa(job #326299)
var t:text;
g,w,i,j,min,mini,luat:longint;
p,c:array[0..1001] of integer;
d:array[0..17000] of longint;
x:array[0..16500,0..1001] of boolean;
ok:boolean;
begin
assign(t,'energii.in'); reset(t);
readln(t,g);
readln(t,w);
for i:=1 to g do
readln(t,p[i],c[i]);
d[0]:=0;
for i:=1 to 16500 do d[i]:=99999999;
for i:=0 to w+1001 do
begin
// write('i=',i,' ');
for j:=1 to g do
begin
// if x[i,j]=true then write('[',j,']');
if x[i,j]=false then
if d[i]+c[j]<d[i+p[j]] then
begin
d[i+p[j]]:=d[i]+c[j];
move(x[i],x[i+p[j]],sizeof(x[i]));
x[i+p[j],j]:=true;
end;
end; // writeln;
end;
ok:=false;
close(t);
assign(t,'energii.out'); rewrite(t);
min:=d[w];
for i:=w+1 to 16500 do
if d[i]<min then min:=d[i];
{for i:=1 to g do
if x[luat,i]=true then write(i,' '); readln;
}
if min=99999999 then write(t,-1) else write(t,min);
close(t);
end.