Pagini recente » Cod sursa (job #691181) | Cod sursa (job #552082) | Cod sursa (job #2797243) | Cod sursa (job #1945277) | Cod sursa (job #326292)
Cod sursa(job #326292)
var t:text;
g,w,i,j,min,mini,luat:integer;
p,c:array[0..1001] of integer;
d:array[0..17000] of integer;
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]:=20000;
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);
for i:=w to 16500 do
if d[i]<>20000 then begin {luat:=i; write(t,d[i]);} ok:=true; break; end;
{for i:=1 to g do
if x[luat,i]=true then write(i,' '); readln;
}
if ok=false then write(t,-1);
close(t);
end.