Cod sursa(job #569476)
Utilizator | Data | 1 aprilie 2011 15:44:36 | |
---|---|---|---|
Problema | Lowest Common Ancestor | Scor | 60 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
var a:array[1..100000] of longint;
n,m,i,t,u,v:longint;
f,g:text;
begin
assign(f,'lca.in');
assign(g,'lca.out');
reset(f);
rewrite(g);
readln(f,n,m);
for i:=2 to n do
read(f,a[i]);
for i:=1 to m do
begin
readln(f,u,v);
while u<>v do
if u>v then u:=a[u] else v:=a[v];
writeln(g,v);
end;
close(g);
end.