Pagini recente » Cod sursa (job #530040) | Cod sursa (job #2275618) | Cod sursa (job #2796043) | Cod sursa (job #1710345) | Cod sursa (job #35554)
Cod sursa(job #35554)
var fi,fo:text;
j,i,n,m,st,vl,a,b,ct:longint;
s:array[0..250000,0..18] of longint;
procedure work;
var i,j,p,k:integer;
begin
for j:=1 to ct do
for i:=1 to n do
s[i,j]:=s[s[i,j-1],j-1];
end;
begin
assign(fi,'stramosi.in'); reset(fi);
assign(fo,'stramosi.out'); rewrite(fo);
readln(fi,n,m);
for i:=1 to n do
begin
read(fi,s[i,0]);
end;
st:=1;
while st<=n do
begin
st:=st shl 1;
inc(ct);
end;
work;
for i:=1 to m do
begin
readln(fi,a,b);
vl:=a;
while b>0 do
begin
st:=1;
ct:=0;
while st<=b do
begin
st:=st shl 1;
inc(ct);
end;
dec(ct);
st:=st shr 1;
b:=b-st;
vl:=s[vl,ct];
end;
writeln(fo,vl);
end;
close(fo);
end.