#include<bits/stdc++.h>
#define reg register int
#define INF (1<<30)
using namespace std;
inline int read(){
reg res=0,fs=1; char c=getchar();
while(!(c>='0' && c<='9')){ if(c=='-')fs=-1; c=getchar(); }
while(c>='0' && c<='9')res=res*10+c-48,c=getchar();
return res*fs;
}
void print(int x){
if(x<0) { putchar('-'); x=-x;}
if(x>9) print(x/10);
putchar(x%10+'0');
}
int n,cnt,m,a[100010],ans,tmp,l,r;
int v[500],S;
inline int mx(int x,int y){
if(x>y) return x;
return y;
}
inline int cx(int l,int r){
//l~~r
int ll=l/S+1,rr=r/S-1;
// cout<<ll<<' '<<rr<<endl;
int ret=-INF;
for(reg i=ll;i<=rr;++i) ret=mx(ret,v[i]);
for(reg i=l;i<=ll*S;++i) ret=mx(ret,a[i]);
for(reg i=rr*S;i<=r;++i) ret=mx(ret,a[i]);
return ret;
}
int main() {
cin>>n>>m;
S=sqrt(n);
for(reg i=1;i<=n;++i){
a[i]=read();
int k=i/S;
v[k]=mx(v[k],a[i]);
}
// for(reg i=1;i<=n;++i){
// }
while(m--){
l=read(),r=read();
print(cx(l,r));
putchar('\n');
}
}
或者有什么更好的快速读写也可以,谢谢qwq