Submission #106165

#TimeUsernameProblemLanguageResultExecution timeMemory
106165daniel920712Gap (APIO16_gap)C++14
100 / 100
91 ms3832 KiB
#include <iostream>
#include <algorithm>
#include "gap.h"

using namespace std;
long long all[100005];
long long findGap(int T,int N)
{
    long long a,b,l=0,r=N-1,x=0,y=1000000000000000000 ,ans=0,c,d,t,i;
    if(T==2)
    {
        MinMax(x,y,&a,&b);
        x=(b-a)/(N-1)+1;
        t=a;
        for(;a<=b;a+=x,a++)
        {
            l=a;
            r=min(b,a+x);
            MinMax(l,r,&c,&d);
            ans=max(ans,d-c);
            if(c!=-1)
            {

                ans=max(ans,c-t);
                t=d;
            }
        }
    }
    else
    {
        while(l<=r)
        {
            MinMax(x,y,&a,&b);
            all[l]=a;
            all[r]=b;
            x=a+1;
            y=b-1;
            l++;
            r--;
        }
        for(i=1;i<N;i++) ans=max(ans,all[i]-all[i-1]);
    }

    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...