Cod sursa(job #138468)

Utilizator Pharaoh****** Pharaoh Data 18 februarie 2008 18:08:02
Problema Stramosi Scor 80
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.86 kb
type mat=array[0..250000,0..18]of longint;
var a:mat;
	i,j,n,m,r,p,q,qq,c:longint;
    f,ff:text;

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

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

assign(ff,'stramosi.out'); rewrite(ff);

for i:=1 to m do
	begin

    	readln(f,p,q);

         for j:=0 to 17 do  
                     if (1 shl j)and q <>0 then p:=a[p,j];  
                  
        writeln(ff,p);

    end;{
        r:=p;

        while ((q>0)and(r<>0)) do
        	begin

              c:=0; qq:=1;
     		  while ((2*qq<=q)and(r<>0)) do
       			 	begin
            	   	qq:=qq*2;
              		inc(c);
       		  end;

              r:=a[r,c];
              q:=q-qq;

            end;

        writeln(ff,r);

    end; }

close(f); close(ff);

end.