rt.这个st表没问题啊,怎么就成这样了?跑样例也没出错啊,搞不懂......
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 10;
inline
void read(int &t) {
scanf("%d", &t);
}
inline
void write(int t) {
printf("%d\n", t);
}
int n, m;
int a[MAXN], f[MAXN][30];
inline
void init() {
for (int i = 1; i <= n; i++) {
f[i][i - 1] = ~0u >> 1;
for (int j = i; j <= n; j++) f[i][j] = min(f[i][j + ~0], a[j]);
}
}
inline
int query(int l, int r) {
return min(f[l + 1][r - 1], f[l][r]);
}
int l, r;
int main() {
read(n), read(m);
for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
init();
while (m--) read(l), read(r), write(query(l, r));
}