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 <bits/stdc++.h>
using namespace std;
#define intt long long
#define fore(i , n) for(int i = 0 ; i < n; i++)
#define forr(i , x ,y) for(int i = x;  i <= y;i++)
void MinMax(intt s , intt t , intt *mn , intt *mx);
long long findGap(int T, int N)
{
    intt mn , mx;
    MinMax(0ll , 1LL * 1e18 , &mn , &mx);
    intt gmn = mn , gmx = mx;
    double d = (double)(mx - mn)/(1.0 * (N - 1));
    vector<intt> MinB(N) , MaxB(N);
    fore(i , N - 1)
    {
        intt lt = ceil(i * d + gmn) , rt = floor((i + 1)*d + gmn - 1);
        MinMax(lt , rt , &mn , &mx);
        MinB[i] = mn;
        MaxB[i] = mx;
    }
    MinB[N - 1]= MaxB[N - 1] = gmx;
    intt prv = MaxB[0];
    intt ans = (intt)d;
    forr(i , 1 , N - 1)
    {
        if(MinB[i] == -1)
            continue;
        ans = max(ans , MaxB[i] - MinB[i]);
        ans=  max(ans , MinB[i] - prv);
        prv = MaxB[i];
    }
    return ans;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |