@[MYXaoiing](/user/1163927) 您要不要参考我的看一下?
验证码:m7bx 祭
```cpp
//t:800ms m:125.00MB
#include <bits/stdc++.h>
using namespace std;
namespace my{
void IOS(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
return ;
}
const int N=1e5+5;
int f[20][N];
int a[N];
int n,q;
void init(){
for(int i=1;i<=n;i++)f[0][i]=a[i];
for(int i=1;(1<<i)<=n;i++){
for(int j=1;j+(1<<i)-1<=n;j++)f[i][j]=max(f[i-1][j],f[i-1][j+(1<<(i-1))]);
}
}
void solve(){
IOS();
cin>>n>>q;
for(int i=1;i<=n;i++)cin>>a[i];
init();
while(q--){
int l,r;
cin>>l>>r;
int len=log2(r-l+1);
cout<<max(f[len][l],f[len][r-(1<<len)+1])<<'\n';
}
}
}
int main(){
// freopen("","r",stdin);
// freopen("","w",stdout);
int _=1;
while(_--)my::solve();
return 0;
}
```
by kevinZ99 @ 2024-04-16 19:52:44
@[MYXaoiing](/user/1163927) why n+9
by Msents @ 2024-04-16 19:53:56
@[Msents](/user/198964) 调试的时候怕lg2没算够加的
by MYXaoiing @ 2024-04-16 19:54:58
@[MYXaoiing](/user/1163927) 刚好ub,,,
by Msents @ 2024-04-16 19:56:15
@[MYXaoiing](/user/1163927) 建议去掉再交一发
by Msents @ 2024-04-16 19:58:34
@[Msents](/user/198964) 谢谢过了 ~~(照理说这个+9会越界但为什么没RE啊啊啊啊啊()~~
by MYXaoiing @ 2024-04-16 20:02:15
@[kevinZ99](/user/1117080) 这就是dalao写的代码吗我怎么看不懂(
~~(求解释)~~
by MYXaoiing @ 2024-04-16 20:03:57
@[Msents](/user/198964) 能问下ub是什么意思吗……(
by MYXaoiing @ 2024-04-16 20:23:17
@[MYXaoiing](/user/1163927) 未定义行为,包括但不限于 访问越界 有符号整数溢出 形如 x++ + ++x 这种够使以及指望表达式 f()+g() 从左到右运行 读没被初始化的东西 ,整出ub了编译器甚至可以选择原神启动
by Msents @ 2024-04-16 22:38:12