This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <stdio.h>
#include <vector>
#include "gap.h"
using namespace std;
typedef long long llong;
const llong MAXVAL = 1000000000000000000LL;
llong solveSmall(int N)
{
    llong minVal, maxVal;
    llong L = 0, R = MAXVAL;
    int pL = 0, pR = N - 1;
    vector<llong> nums(N);
    while(pL <= pR)
    {
        MinMax(L, R, &minVal, &maxVal);
        nums[pL] = minVal;
        nums[pR] = maxVal;
        pL++;
        pR--;
        L = minVal + 1;
        R = maxVal - 1;
    }
    llong ans = 0;
    for (int i = 1; i < nums.size(); i++)
    {
        ans = max(ans, nums[i] - nums[i - 1]);
    }
    return ans;
}
llong solveBig(int N)
{
    llong minVal, maxVal;
    llong curVal, endVal;
    llong bestGap = 0;
    MinMax(0, MAXVAL, &curVal, &endVal);
    llong curGap = (endVal - curVal) / (N - 1);
    if ( (endVal - curVal) % (N - 1) != 0 )
        curGap++;
    curGap--;
    bestGap = curGap;
    while(curVal != endVal)
    {
        MinMax(curVal + 1, curVal + curGap, &minVal, &maxVal);
        if (minVal == -1)
        {
            bestGap = max(bestGap, curGap);
            curGap = curGap * 2 + 2;
        }
        else
        {
            bestGap = max(bestGap, minVal - curVal);
            curGap = bestGap;
            curVal = maxVal;
        }
    }
    return bestGap;
}
llong findGap(int T, int N)
{
    if (T == 1)
        return solveSmall(N);
    else
        return solveBig(N);
}
/*
int main()
{
}
*/
Compilation message (stderr)
gap.cpp: In function 'llong solveSmall(int)':
gap.cpp:31:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |     for (int i = 1; i < nums.size(); i++)
      |                     ~~^~~~~~~~~~~~~| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |