谁能告诉我慢在哪了呢?
#include <bits/stdc++.h>
using namespace std;
int n,m,x,y;
int a[100010],st[100010],f[100010][20];
int main()
{
cin>>n>>m;
st[1]=0;
for(int i=2;i<=n;i++){
st[i]=st[i>>1]+1;
}
for(int i=1;i<=n;i++){
cin>>f[i][0];
}
for(int j=1;j<=st[n];j++){
for(int i=1;i<=n-(1<<j)+1;i++){
f[i][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1]);
}
}
for(int i=1;i<=m;i++){
cin>>x>>y;
int l=st[y-x+1];
cout<<max(f[x][l],f[y-(1<<l)+1][l])<<"\n";
}
}