#include using namespace std; const int N = 1e6 + 5; const int LOGN = 20; int Log[N] = {-1}, f[N][LOGN + 1], a[N]; // f[i][j] 存储[i, i+2^j-1]之间的最值 int n, m; int main() { ios::sync_with_stdio(false); cin.tie(0), cout.tie(0); cin>>n>>m; for(int i=1; i<=n; ++i) { cin>>a[i]; } for(int i=1; i<=n; ++i) { f[i][0]=a[i]; Log[i]=Log[i>>1] + 1; // 预处理出长度为1~n的log值 } for(int j=1; j<=LOGN; j++) { // 注意是j for(int i=1; i+(1<>x>>y;//3 8 int s=Log[y-x+1]; cout<