Pagini recente » Cod sursa (job #2823226) | Cod sursa (job #2677777) | Cod sursa (job #1919143) | Cod sursa (job #112873) | Cod sursa (job #36667)
Cod sursa(job #36667)
type rec=record
nr,ses:longint;
end;
var a,c:array[0..250000] of longint;
b:array[0..250000] of rec;
num,p,x,j,m,n,q,i:longint;
f,g:text;
found:boolean;
begin
assign(f,'stramosi.in');
assign(g,'stramosi.out');
reset(f);
rewrite(g);
read(f,n,m);
for i:=1 to n do
2 read(f,a[i]);
for i:=1 to m do begin
read(f,q,p);
j:=0;
found:=false;
num:=0;
while (j<p) and not found do begin
inc(j);
q:=a[q];
if b[q].ses<>i then begin
b[q].nr:=j;
b[q].ses:=i;
inc(num);
c[num]:=q;
end
else found:=true;
end;
if j<>p then
q:=c[b[q].nr+(p mod (j-b[q].nr))];
writeln(g,q)
end;
close(f);
close(g);
end.