제출 #561209

#제출 시각아이디문제언어결과실행 시간메모리
561209fdnfksdGap (APIO16_gap)C++14
100 / 100
58 ms1864 KiB
#include<bits/stdc++.h>
#include "gap.h"
using namespace std;
using ll = long long;
ll a[100009];
ll findGap(int t, int n)
{
    ll res=0;
    if(t==1)
    {
        a[0]=-1;
        a[n+1]=2e18+10;
        ll i=1,j=n;
        while(i<=j)
        {
            MinMax(a[i-1]+1,a[j+1]-1,&a[i],&a[j]);
            i++;
            j--;
        }

        for(int i=2;i<=n;i++) res=max(res,a[i]-a[i-1]);
        return res;
    }
    MinMax(-1,2e18,&a[1],&a[n]);
    if(n==2) return a[n]-a[1];
    ll dis=(a[n]-a[1])/(n-1);
    ll prev=-1, now=-1;
    for(ll i=a[1];i<a[n];i+=dis+1)
    {
        ll tmp=-1;
        MinMax(i,i+dis,&tmp,&now);
        if(tmp==-1) continue;
        if(prev!=-1)
        {
            res=max(res,tmp-prev);
        }
        prev=now;
    }
    return res;
}/*
int main()
{
    findGap();
}*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...