Cod sursa(job #316830)

Utilizator AndreiDumaAndrei Duma AndreiDuma Data 21 mai 2009 11:51:01
Problema Stramosi Scor 80
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.64 kb
var a:array[0..250001,0..21] of longint;
    n,m,i,j,p,q,x,y:longint;

    f,g:text;

begin
assign(f,'stramosi.in');reset(f);
assign(g,'stramosi.out');rewrite(g);
readln(f,n,m);
for i:=1 to n do read(f,a[i,0]);
readln(f);

for i:=1 to n do
  for j:=1 to 17 do a[i,j]:=a[ a[i,j-1], j-1];

for i:=1 to m do
begin
        readln(f,p,q);
        x:=p; y:=18;
        for y:=18 downto 0 do
        begin
                if q >= (1<<y) then
                begin
                        x := a[x,y];
                        q := q - 1<<y;
                end;
        end;

        writeln(g,x);
end;

close(f); close(g);

end.