Submission #560944

#TimeUsernameProblemLanguageResultExecution timeMemory
560944karriganGap (APIO16_gap)C++14
89.02 / 100
66 ms1832 KiB
#include<bits/stdc++.h>
#define fastio ios_base::sync_with_stdio(false);cin.tie(nullptr);
#include "gap.h"
using namespace std;
const int maxn=1e6;
using ll=long long int;
long long a[100009];
long long findGap(int t, int n){
    if (t==1){
        a[0]=-1;
        a[n+1]=2e18;
        for (int i=1,j=n;i<=j;i++,j--){
            MinMax(a[i-1]+1, a[j+1]-1, &a[i], &a[j]);
        }
        long long ans=-1;
        for (int i=2;i<=n;i++){
            ans=max(ans,a[i]-a[i-1]);
        }
        return ans;
    }
    else {
        MinMax(0,1e18,&a[1],&a[n]);
        long long l,r;
        MinMax(a[1],a[1]+(a[n]-a[1])/(n-1),&l,&r);
        long long temp=(a[n]-a[1])/(n-1);
        long long ans=r-l;
        for (long long ret=r+1;ret<a[n];ret+=temp+1){
            long long mn,mx;
            MinMax(ret,ret+temp,&mn,&mx);
            if (mn==-1)continue;
            ans=max(ans,mn-r);
            r=mx;
        }
        return ans;
    }
}
 
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...