@[hehehy](/user/1036685)
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,m,a[100005],b[3000005],lb[3000005],rb[3000005],x,y;
int bt(int l,int r,int u){
lb[u]=l,rb[u]=r;
if(l==r){
return b[u]=a[l];
}
return b[u]=min(bt(l,(l+r)/2,u*2),bt((l+r)/2+1,r,u*2+1));
}
int cx(int l,int r,int u){
if(l==lb[u]&&rb[u]==r){
return b[u];
}
int res=1000000000;
if(l<=(lb[u]+rb[u])/2){
res=min(res,cx(l,min(rb[u*2],r),u*2));
}
if(r>(lb[u]+rb[u])/2){
res=min(res,cx(max(l,lb[u*2+1]),r,u*2+1));
}
return res;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
b[1]=bt(1,n,1);
for(int i=1;i<=m;i++){
cin>>x>>y;
cout<<cx(x,y,1)<<" ";
}
return 0;
}
```
by Estelle_N @ 2024-03-23 16:44:17
@[Estelle_N](/user/469356) 谢谢
关注了
by hehehy @ 2024-03-23 16:59:29