#include <bits/stdc++.h>
#include "gap.h"
using namespace std;
using ll = long long;
vector<ll> compute(ll l, ll r){
if(l == -1) return {};
if(l == r) return {l};
ll m = (l + r) / 2;
ll n_l1 = -1, n_r1 = -1, n_l2 = -1, n_r2 = -1;
if(l + 1 <= m) MinMax(l + 1, m, &n_l1, &n_r1);
if(m + 1 <= r - 1) MinMax(m + 1, r - 1, &n_l2, &n_r2);
vector<ll> v_l = compute(n_l1, n_r1);
vector<ll> v_r = compute(n_l2, n_r2);
vector<ll> res;
res.push_back(l);
for(auto x : v_l) res.push_back(x);
for(auto x : v_r) res.push_back(x);
res.push_back(r);
return res;
}
ll findGap(int t, int n){
ll cur_s = 0, cur_t = 1e18;
ll mn, mx;
MinMax(cur_s, cur_t, &mn, &mx);
vector<ll> a = compute(mn, mx);
ll ans = 0;
for(int i=0; i<(n - 1); i++) ans = max(ans, a[i + 1] - a[i]);
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |