求助大佬,为何7个RE了
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int n,q,maxh[100000][30],minh[100000][30],a,b,c[100000],d,x,y;
int read(){
int x=0,f=1;
char ch=getchar();
while(!isdigit(ch)){
if(ch=='-')
f=-1;
ch=getchar();
}
while(isdigit(ch)){
x=x*10+(ch-'0');
ch=getchar();
}
return x*f;
}
void ST(){
for(a=1;a<=n;a++){
maxh[a][0]=c[a];
minh[a][0]=c[a];
}
d=log(n)/log(2)+1;
for(b=1;b<d;b++){
for(a=1;a<=n-(1<<b)+1;a++){
maxh[a][b]=max(maxh[a][b-1],maxh[a+(1<<(b-1))][b-1]);
minh[a][b]=min(minh[a][b-1],minh[a+(1<<(b-1))][b-1]);
}
}
}
int main(){
n=read();
q=read();
for(a=1;a<=n;a++)
c[a]=read();
ST();
for(a=1;a<=q;a++){
x=read();
y=read();
d=log(y-x)/log(2);
cout<<max(maxh[x][d],maxh[y-(1<<d)+1][d])-min(minh[x][d],minh[y-(1<<d)+1][d])<<endl;
}
return 0;
}