Submission 484
Return to ProblemUser: caterpillow
Language: cpp
Submitted at: Nov. 9, 2025, 8:44 p.m.
Elapsed Time: 80.71 s
Keys per Minute (KPM): 418.53
Status: AC
Test Case Results:
| # | Status | Time (s) | Error |
|---|---|---|---|
| 1 | AC | 1.616 | - |
| 2 | AC | 1.667 | - |
#include<bits/stdc++.h>
using namespace std;
int n, q, l, r, d;
vector<vector<int>> dp;
#define q(l, r) (d = max(0, __lg(r - l - 1)), max(dp[d][l], dp[d][r - (1 << d)]))
main() {
cin.tie(0)->sync_with_stdio(0);
cin >> n >> q;
dp.emplace_back(n);
for (int &x : dp[0]) cin >> x;
for (int w = 2; w <= n; w += w) {
dp.push_back(dp[0]);
for (int i =0 ; i + w <= n; i++) dp.back()[i] = q(i, i + w);
}
while (q--) cin >> l >> r, l--, cout << q(l, r) << '\n';
}