Pagini recente » Cod sursa (job #643304) | Cod sursa (job #417307) | Cod sursa (job #164208) | Cod sursa (job #3168661) | Cod sursa (job #679656)
Cod sursa(job #679656)
var v:array [0..250000, 0..20] of longint;
i, j, n, m, x, y, z, t:longint;
f, g:text;
ok:boolean;
buf1, buf2:array [1.. 1 shl 17] of char;
begin
assign (f, 'stramosi.in');settextbuf (f, buf1); reset (f);
assign (g, 'stramosi.out'); settextbuf (g, buf2); rewrite (g);
read (f, n, m);
for i := 1 to n do read (f, v[i, 1]);
ok:=true; i:=1;
while ok do
begin
ok:=false;
for j := 1 to n do
begin
if v[j, i]<>0 then
begin
v[j, i+1]:=v[v[j, i], i];
if v[j, i+1] <> 0 then ok:=true;
end;
end;
inc (i);
end;
for i := 1 to m do
begin
read (f, x, y);
j:=1;
while (x<>0) and (y<>0) do
begin
while y mod 2 = 0 do
begin
y := y div 2;
inc (j);
end;
x:=v[x, j];
y:=y div 2; inc (j);
end;
writeln (g, x);
end;
close (f); close (g);
end.