Submission 484

Return to Problem

User: 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';
}