求助ST表,TLE后两个点

P3865 【模板】ST 表

```cpp #include <bits/stdc++.h> #define N 100010 #define int long long using namespace std; int n, m; int a[N]; int tmax[N][30], log_2[N]; inline int read() { int x = 0, f = 1; char ch = getchar(); while (ch < '0' || ch > '9') { if (ch == '-') f = -1; ch = getchar(); } while (ch >= '0' && ch <= '9') { x = x * 10 + ch - 48; ch = getchar(); } return x * f; } void init() { for (int i = 2 ; i <= n ; i ++) log_2[i] = log_2[i >> 1] + 1; for (int i = 1 ; i <= n ; i ++) tmax[i][0] = a[i]; for (int j = 1 ; (1 << j) <= n ; j ++) for (int i = 1 ; i <= n - (1 << j) + 1 ; i ++) tmax[i][j] = max(tmax[i][j - 1], tmax[i + (1 << j - 1)][j - 1]); } int query(int l, int r) { int k = log_2[r - l + 1]; return max(tmax[l][k], tmax[r - (1 << k) + 1][k]); } signed main() { n = read(), m = read(); for (int i = 1 ; i <= n ; i ++) a[i] = read(); init(); while (m --) { int l = read(), r = read(); cout << query(l, r) << endl; } return 0; } ```
by ztytql @ 2022-07-30 17:12:29


并且评测机返回的是"Time Limit Exceeded. Received signal 24: CPU time limit exceeded." 以前好像没见过
by ztytql @ 2022-07-30 17:13:36


@[ztytql](/user/307987) cout改printf
by Withers @ 2022-07-30 17:20:30


@[Withers](/user/481851) 过了,谢谢 ~~真卡常~~
by ztytql @ 2022-07-30 17:23:36


|