Pagini recente » Cod sursa (job #2465078) | Cod sursa (job #1324997) | Cod sursa (job #2396125) | Cod sursa (job #2373652) | Cod sursa (job #36685)
Cod sursa(job #36685)
type rec=record
nr,ses:longint;
end;
var a,c:array[0..250000] of longint;
b:array[0..250000] of rec;
p,j,m,n,q,i:longint;
f,g:text;
begin
assign(f,'stramosi.in');
assign(g,'stramosi.out');
reset(f);
rewrite(g);
read(f,n,m);
for i:=1 to n do
read(f,a[i]);
for i:=1 to m do begin
read(f,q,p);
j:=0;
while (j<p) and (b[q].ses<>i) do begin
inc(j);
q:=a[q];
if b[q].ses<>i then begin
b[q].nr:=j;
b[q].ses:=i;
c[j]:=q;
end;
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.