```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