Pagini recente » Cod sursa (job #2574718) | Cod sursa (job #1561175) | Cod sursa (job #1177809) | Cod sursa (job #546864) | Cod sursa (job #45418)
Cod sursa(job #45418)
type pelem = ^elem;
elem = record
x: longint;
os: pelem;
end;
var
Osok: array[1..150000] of pelem;
akt: pelem;
f, g: text;
n, m, i, a, b: longint;
begin
Assign(f, 'stramosi.in');
Assign(g, 'stramosi.out');
Reset(f);
ReWrite(g);
ReadLn(f, n, m);
for i := 1 to n do New(Osok[i]);
for i := 1 to n do
begin
Read(f, a);
if a <> 0 then Osok[i]^.os := Osok[a]
else Osok[i]^.os := NIL;
Osok[i]^.x := i;
end;
for i := 1 to m do
begin
ReadLn(f, a, b);
akt := Osok[a];
n := 1;
while (n <> b) and (akt^.os <> nil) do
begin
Inc(n);
akt := akt^.os;
end;
if akt^.os <> nil then WriteLn(g, akt^.os^.x) else WriteLn(g, '0');
end;
Close(f);
Close(g);
end.