#include <bits/stdc++.h>
#include "gap.h"
using namespace std;
typedef long long ll;
long long findGap(int T, int N)
{
vector<pair<ll, ll>> segment;
ll mn, mx;
MinMax(0, 1E18, &mn, &mx);
ll rr = ((mx - mn) % (N - 1));
ll s = ((mx - mn) / (N - 1)) + rr;
cout
<< mn << " " << mx << "\n";
if (mx - mn + 1 == N)
{
return 1;
}
mn++;
for (int i = 0; i < N - rr; i++)
{
ll l, r;
MinMax(mn + i * s, mn + min((i + 1) * s - 1, (ll)mx), &l, &r);
if (l != -1)
{
segment.push_back({0, 0});
int j = segment.size() - 1;
segment[j].first = l;
segment[j].second = r;
}
}
ll mxdiff = -mn + segment[0].first + 1;
for (int i = 0; i < segment.size() - 1; i++)
{
mxdiff = max(segment[i + 1].first - segment[i].second, mxdiff);
}
return mxdiff;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |