Pagini recente » Cod sursa (job #3170429) | Cod sursa (job #1102543) | Cod sursa (job #1796303) | Cod sursa (job #3170828) | Cod sursa (job #138465)
Cod sursa(job #138465)
type mat=array[0..250000,0..18]of longint;
var a:mat;
i,j,n,m,r,p,q,qq,c:longint;
f,ff:text;
begin
assign(f,'stramosi.in'); reset(f);
readln(f,n,m);
for i:=1 to n do read(f,a[i,0]);
for i:=1 to n do
for j:=1 to 17 do a[i,j]:=a[a[i,j-1],j-1];
assign(ff,'stramosi.out'); rewrite(ff);
for i:=1 to m do
begin
readln(f,p,q);
{while (q>0)and(p<>0) do}
for j:=0 to 17 do
if (1 shl j{>q})and(p<>0) then begin
p:=a[p,j{-1}];
{q:=q-(1 SHL (j-1));
break;}
end;
writeln(ff,p);
end;{
r:=p;
while ((q>0)and(r<>0)) do
begin
c:=0; qq:=1;
while ((2*qq<=q)and(r<>0)) do
begin
qq:=qq*2;
inc(c);
end;
r:=a[r,c];
q:=q-qq;
end;
writeln(ff,r);
end; }
close(f); close(ff);
end.