#include "gap.h"
#include <bits/stdc++.h>
long long findGap(int T, int N)
{
long long MN, MX;
MinMax(0, 1e18 + 1, &MN, &MX);
long long best = 0;
if (T == 1)
{
for (int i = 1; i < (N + 1) / 2; ++i)
{
long long a, b;
MinMax(MN + 1, MX - 1, &a, &b);
best = std::max({best, a - MN, MX - b});
MN = a, MX = b;
}
best = std::max(best, MX - MN);
return best;
}
const long long STEP = (MX - MN + N - 2) / (N - 1);
long long prev = MN;
for (long long L = MN + 1; L <= MX - 1; L += STEP)
{
long long R = std::min(L + STEP - 1, MX - 1);
long long a, b;
MinMax(L, R, &a, &b);
if (a == -1) continue;
best = std::max(best, a - prev);
prev = b;
}
best = std::max(best, MX - prev);
return best;
}