在其他地方编译通过样例遂提交,然而全部WA。下载了测试点查看但输出结果是一致的,包括洛谷在线IDE。
#include<stdio.h>
#include<math.h>
int f[1000010][21];
inline int read()
{
char c=getchar();int x=0,f=1;
while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
return x*f;
}
inline int query(int l, int r){
int k = log(r - l + 1) / log(2);
return f[l][k] > f[r-(1<<k)+1][k] ?
f[l][k] : f[r-(1<<k)+1][k];
}
int main(){
int n = read(), m = read();
for(int i = 1; i <= n; i ++)
f[i][0] = read();
for(int j = 1; j < 21; j ++)
for(int i = 1; i + (1<<j) -1 <= n; i ++)
f[i][j] =
f[i][j-1]>f[i+(1<<(j1))][j-1] ?
f[i][j-1] : f[i+(1<<(j-1))][j-1];
for(int i = 0; i < m ; i ++){
int l = read(), r = read();
printf("%d\n",query(l,r));
}
}