Pagini recente » Cod sursa (job #247724) | Cod sursa (job #1714824) | Cod sursa (job #2469392) | Cod sursa (job #2349851) | Cod sursa (job #248901)
Cod sursa(job #248901)
var
v: array[1..19,1..250000] of longint;
f,g:text;
n,n2,m,i,j,x,y,stramos,k:longint;
c:array[1..20] of longint;
begin
assign(f, 'stramosi.in');
assign(g, 'stramosi.out');
reset(f);
rewrite(g);
readln(f, n, m);
c[1]:=1;
for i:=2 to 20 do c[i]:=c[i-1]*2;
n2 := 19;
while (n div c[n2]) = 0 do n2:=n2-1;
for i:=1 to n do
read(f, v[1,i]);
for j:=2 to n2 do
for i:=1 to n do
if v[j-1,i]<>0 then v[j,i]:=v[j-1,v[j-1,i]];
for i := 1 to m do
begin
readln(f,x,y);
n:=19;
k:=y;
stramos:=x;
while (k<>0) and (stramos<>0) do
begin
while (k div c[n]) = 0 do n:=n-1;
stramos:=v[n,stramos];
k:=k-c[n];
end;
writeLn(g,stramos);
end;
close(g);
end.