st表,麻烦看一下
#include <bits/stdc++.h>
using namespace std;
int n,m,l,r,f[100005][20];
int main(){
cin >> n >> m;
for(int i = 1;i <= n;i++) cin >> f[i][0];
for(int j = 1;(1 << j) <= m;j++)
for(int i = 1;i + (1 << j) - 1 <= m;i++)
f[i][j] = min(f[i][j - 1],f[i + (1 << (j - 1))][j - 1]);
for(int i = 1;i <= m;i++){
cin >> l >> r;
int k = log2(r - l + 1);
cout << min(f[l][k],f[r - (1 << k) + 1][k]) << " ";
}
return 0;
}