Submission #1321999

#TimeUsernameProblemLanguageResultExecution timeMemory
1321999aaaaaaaaGap (APIO16_gap)C++20
0 / 100
11 ms1192 KiB
#include <bits/stdc++.h>
#include "gap.h"
using namespace std;

set<long long> x;

pair<long long, long long> ask(long long l, long long r){
    long long *mn, *mx;
    MinMax(l, r, mn, mx);
    return {*mn, *mx};
}

void solve(long long l, long long r){
    if(l > r) return;
    long long mid = l + (r - l) / 2;
    pair<long long, long long> res = ask(l, r);
    if(res.first == -1 || res.second == -1) return;
    x.insert(res.first);
    x.insert(res.second);
    if(l == r) return;
    solve(res.first + 1, mid);
    solve(mid + 1, res.second - 1);
}

long long findGap(int T, int N)
{
    x.clear();
    solve(0, (long long) 1e18);
    long long ans = 0, prev = *x.begin();
    for(auto it : x){
        ans = max(ans, it - prev);
        prev = it;
    }
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...