#include <iostream>
using namespace std;
#define MAXN 100005
int n, m, a[MAXN], ST[MAXN][17], A, B, log_2[MAXN];
template<typename T>
inline T read() {
T num = 0, f = 1;
char ch = getchar();
while (ch < '0' || ch>'9') {
if (ch == '-')f = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9')num = num * 10 + ch - '0', ch = getchar();
return num * f;
}
template<typename T>
inline void write(T num) {
if (num < 0)putchar('-'), num = -num;
if (num > 10)write(num / 10);
putchar(num % 10 + '0');
}
void init() {
for (int i = 2; i <= n; i++)log_2[i] = log_2[i >> 1] + 1;
for (int i = 1; i <= n; i++)ST[i][0] = a[i];
for (int j = 1; (1 << j) <= n; j++)
for (int i = 1; i <= n - (1 << j) + 1; i++)
ST[i][j] = max(ST[i][j - 1], ST[i + (1 << j - 1)][j - 1]);
}
int query() {
int k = log_2[B - A + 1];
return max(ST[A][k], ST[B - (1 << k) + 1][k]);
}
int main() {
n = read<int>(), m = read<int>();
for (int i = 1; i <= n; i++)a[i] = read<int>();
init();
while (m--) {
A = read<int>(), B = read<int>();
write(query());
putchar('\n');
}
return 0;
}
第11个点报错: Wrong Answer.wrong answer On line 487733 column 1, read 0, expected 1. 最终得分93pts 求神犇改错 %%%