Pagini recente » Cod sursa (job #2125915) | Cod sursa (job #56190) | Cod sursa (job #762102) | Cod sursa (job #629702) | Cod sursa (job #108685)
Cod sursa(job #108685)
program stramosi;
var f,fout:text;
n,m,i,j,a,b:longint;
v:array[1..1000,1..10] of longint;
control:boolean;
procedure log(a:longint;var b,h:longint);
begin
h:=1;
b:=0;
while(2*h <= a) do
begin
h:=2*h;
b:=b+1;
end;
end; +
function os(x,r:longint):longint;
var a,h,k:longint;
begin
log(r,a,h);
k:=v[x,a+1];
r:=r-h;
if(r = 0) then os:=k
else if(k > 0) then os:=os(k,r)
else os:=0;
end;
begin
assign(f,'stramosi.in');
reset(f);
readln(f,n,m);
for i:=1 to n do read(f,v[i,1]);
readln(f);
control:=true;
j:=1;
while(control) do
begin
j:=j+1;
control:=false;
for i:=1 to n do
begin
v[i,j]:=v[v[i,j-1],j-1];
if(v[i,j] > 0) then control:=true;
end;
end;
assign(fout,'stramosi.out');
rewrite(fout);
for i:=1 to m do
begin
readln(f,a,b);
writeln(fout,os(a,b));
end;
close(fout);
close(f);
end.