Cod sursa(job #335890)

Utilizator ionutz32Ilie Ionut ionutz32 Data 31 iulie 2009 10:07:22
Problema Stramosi Scor 60
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.7 kb
var v:array[1..500,1..250000] of longint;
n,m,i,r,j,q,p,sol:longint;
f,g:text;
begin
assign(f,'stramosi.in');
assign(g,'stramosi.out');
reset(f);rewrite(g);
readln(f,n,m);
for i:=1 to n do
    read(f,v[1,i]);
readln(f);
if sqrt(n)=trunc(sqrt(n)) then
   r:=trunc(sqrt(n))
else
    r:=trunc(sqrt(n))+1;
for i:=1 to n do
    for j:=2 to r do
        if v[j-1,i]=0 then
           v[j,i]:=0
        else
            v[j,i]:=v[1,v[j-1,i]];
for i:=1 to m do
    begin
    readln(f,q,p);
    sol:=q;
    for j:=1 to p div r do
        if sol<>0 then
           sol:=v[r,sol];
    if (sol<>0) and (p mod r<>0) then
       sol:=v[p mod r,sol];
    writeln(g,sol);
    end;
close(f);close(g);
end.