@[larryia](/user/1042486) 找到了
by Perfect_Youth @ 2023-08-31 20:16:13
@[larryia](/user/1042486) A了给我关注哟~~,如下:
```cpp
#include <iostream>
#define lc p << 1
#define rc p << 1 | 1
#define int long long
using namespace std;
const int N = 100005;
int n, m, w[N], x, y;
int minn[N * 4];
void pushup(int p) {
minn[p] = min(minn[lc], minn[rc]);
}
void build(int p, int l, int r) {
minn[p] = w[l];
if (l == r) {
return;
}
int mid = (l + r) >> 1;
build(lc, l, mid), build(rc, mid + 1, r);
pushup(p);
}
int query(int p, int x, int y, int l, int r) {
if (x > r || y < l) return 1e9;
if (x <= l && r <= y) {
return minn[p];
}
int mid = (l + r) >> 1;
return min(query(lc, x, y, l, mid), query(rc, x, y, mid + 1, r));
}
signed main() {
cin >> m >> n;
for (int i = 1; i <= m; i++) {
cin >> w[i];
}
build(1, 1, m);
for (int i = 0; i < n; i++) {
cin >> x >> y;
cout << query(1, x, y, 1, m) << ' ';
}
return 0;
}
```
by Perfect_Youth @ 2023-08-31 20:17:53
@[Perfect_Youth](/user/725816)
哈哈哈在你找到之前我也找到了
by larryia @ 2023-08-31 20:24:28
@[Perfect_Youth](/user/725816) 不过感谢了哈
by larryia @ 2023-08-31 20:24:53