Pagini recente » Cod sursa (job #1399752) | Cod sursa (job #1286293) | Cod sursa (job #1899057) | Cod sursa (job #320461) | Cod sursa (job #562432)
Cod sursa(job #562432)
var a,b:array[1..100000]of longint;
n,m,i,j,min,x,y,r:longint;
f,g:text;
begin
assign(f,'rmq.in');
assign(g,'rmq.out');
reset(f);
rewrite(g);
readln(f,n,m);
for i:=1 to n do
readln(f,a[i]);
r:=trunc(sqrt(n));
for i:=1 to r do
begin
b[i]:=a[(i-1)*r+1];
for j:=(i-1)*r+1 to i*r do
if a[j]<b[i] then b[i]:=a[j];
end;
for i:=1 to m do
begin
readln(f,x,y);
min:=a[x];
for j:=x div r+1 to y div r do
if b[j]<min then min:=b[j];
for j:=x to x+x mod r do
if a[j]<min then min:=a[j];
for j:=y-y mod r to y do
if a[j]<min then min:=a[j];
writeln(g,min);
end;
close(g);
end.