应该是快读写错了,求好心人帮我调
%:include <bits/stdc++.h>
%:define int long long
int rd()
??<
int x = 0, f = 1; char ch = getchar();
H: if(ch == '-') f = -1;
if (std::isdigit(ch)) goto T;
ch = getchar(); goto H;
T: x = (x << 1) + (x << 3) + (ch xor 48);
if (std::isdigit(ch = getchar())) goto T;
return x * f;
??>
int f<:1000000 + 10:><:25:>;
auto main() -> signed
??<
int n = rd(), m = rd(), i = 1;
th: f<:i:><:0:> = rd();
if (i xor n) goto th;
for (int k = 1; k <= log(n) / log(2); k ++ )
??<
for (i = 1; i + (1 << k) - 1 <= n; i ++ )
<%
f<:i:><:k:> = std::max(f<:i + (1 << (k - 1)):><:k - 1:>, f<:i:><:k - 1:>);
%>
??>
for (i = 1, l, r; i <= m; i ++ )
<%
std::cin >> l >> r;
int k = log(r - l + 1) / log(2);
std::cout << std::max(f<:l:><:k:>, f<:r - (1 << k) + 1:><:k:>) << std::endl;
%>
%>