Cod sursa(job #175922)

Utilizator darkmanalexandru catalisan darkman Data 10 aprilie 2008 16:39:42
Problema Stramosi Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.62 kb
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=0;
    writeln(q);
  end;
  close(input); close(output);
end.