#include "gap.h"
#include <bits/stdc++.h>
using namespace std;
long long findGap(int T, int N)
{
if (T == 1)
{
vector<long long> vl, vr;
long long s = 0, e = 1e18, l, r;
while (s <= e && vl.size() + vr.size() < N)
{
MinMax(s, e, &l, &r);
if (l == -1) break;
vl.push_back(l);
if (l != r)
vr.push_back(r);
s = l + 1;
e = r - 1;
}
reverse(vr.begin(), vr.end());
for (long long i : vr) vl.push_back(i);
long long ans = 0;
assert(vl.size() == N);
for (int i = 1; i < N; i++)
{
ans = max(ans, vl[i] - vl[i - 1]);
}
return ans;
}
long long l, r;
MinMax(0LL, (long long)1e18, &l, &r);
if (N == 2) return r - l;
long long left = l, right = r;
long long d = (right - 1 - left) / (N - 2);
vector<pair<long long, long long>> a;
for (int i = 0; i < N - 2; i++)
{
a.emplace_back(left + 1 + d * i, left + d * (i + 1));
}
a.back().second = right - 1;
long long ans = 0, cur = l;
for (auto [s, e] : a)
{
MinMax(s, e, &l, &r);
if (l == -1) continue;
ans = max(ans, l - cur);
cur = r;
}
ans = max(ans, right - cur);
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |