Submission #1272144

#TimeUsernameProblemLanguageResultExecution timeMemory
1272144AvianshGap (APIO16_gap)C++20
30 / 100
32 ms3232 KiB
#include "gap.h"

#include <bits/stdc++.h>

using namespace std;

long long findGap(int t, int n)
{
    if(t==1){
        long long arr[n];
        long long s = 0;
        long long t = 1e18;
        for(int i = 0;i<(n+1)/2;i++){
            MinMax(s,t,&arr[i],&arr[n-i-1]);
            s=arr[i]+1;
            t=arr[n-i-1]-1;
        }
        long long ans = 0;
        for(int i = 0;i<n-1;i++){
            ans=max(ans,arr[i+1]-arr[i]);
        }
        return ans;
    }
    else{
        long long mn,mx;
        MinMax(0,1e18,&mn,&mx);
        long long ans = (mx-mn+1)/n;
        long long l = mn+1;
        long long las = l;
        while(l<mx){
            long long cmn,cmx;
            MinMax(l,l+ans,&cmn,&cmx);
            if(cmn==-1){
                l=l+ans+1;
                continue;
            }
            ans=max(ans,cmn-las);
            l=l+ans+1;
        }
        return ans;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...