Pagini recente » Cod sursa (job #1342946) | Cod sursa (job #2452536) | Cod sursa (job #3199261) | Cod sursa (job #1680411) | Cod sursa (job #175924)
Cod sursa(job #175924)
var i,j,n,k,nr,m:longint;
p,q:longint;
v:array[0..20,0..250000] of longint;
begin
assign(input,'stramosi.in'); reset(INPUT);
assign(output,'stramosi.out'); rewrite(output);
readln(n,m);
k:=1;
for i:=1 to n do
read(v[0,i]);
readln;
while 2*k<=n do begin
k:=k*2;
nr:=nr+1;
end;
for i:=1 to nr do
for j:=1 to n do
if v[i-1,j]<>0 then v[i,j]:=v[i-1,v[i-1,j]];
for i:=1 to m do begin
readln(q,p);
repeat
k:=0;
while 1 shl (k+1)<=p do inc(k);
q:=v[k,q]; p:=p-1 shl k;
until p*q=0;
writeln(q);
end;
close(input); close(output);
end.