Submission #40212

#TimeUsernameProblemLanguageResultExecution timeMemory
40212igziGap (APIO16_gap)C++14
100 / 100
79 ms5804 KiB
#include <bits/stdc++.h>
#include "gap.h"
 
using namespace std;
 
long long findGap(int t,int n){
    if(t==1){
    long long l=0,d=n+1,a[100005],m=0,i;
    for(i=0;i<n;i++){
        a[i]=-5;
    }
    a[0]=-1;
    a[n+1]=1000000000000000005;
    for(i=1;i<=(n+1)/2;i++){
        MinMax(a[l]+1,a[d]-1,&a[l+1],&a[d-1]);
        l++; d--;
    }
    for(i=2;i<=l;i++){
        m=max(m,a[i]-a[i-1]);
    }
    if(l+1==d) m=max(m,a[d]-a[l]);
    for(i=d+1;i<n+1;i++){
        m=max(m,a[i]-a[i-1]);
    }
    return m;}
    else{
        long long a,b,i,ans=0,last,s,e;
        MinMax(0,1e18+5,&a,&b);
        last=a;
        long long d=(b-a-1)/n+1;
        for(s=a+1,e=a+d,i=0;i<n;s+=d,e+=d,i++){
            if(e>=b) e=b-1;
            if(s>e) break;
            long long mi,ma;
            MinMax(s,e,&mi,&ma);
            if(mi!=-1){
                ans=max(ans,mi-last);
                last=ma;
            }
        }
        ans=max(ans,b-last);
        return ans;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...