제출 #48346

#제출 시각아이디문제언어결과실행 시간메모리
48346vanogamGap (APIO16_gap)C++14
30 / 100
64 ms1520 KiB
#include "gap.h"
#include<bits/stdc++.h>
using namespace std;
long long MX=1000000000000000000;
long long findGap(int T, int N)
{
    long long mn,mx,pas=1,mn1,mx1,xr=2;
    MinMax(0,MX,&mn,&mx);
    xr=(mx-mn)/(N-1)-2;
    if(xr<=0) xr=2;
    //xr=xr/2*2;
    if(T==1){
        for(int i=1;i<(N+1)/2;i++){
            MinMax(mn+1,mx-1,&mn1,&mx1);
            if(mn1==-1) break;
            pas=max(pas,max(mn1-mn,mx-mx1));
            mx=mx1;
            mn=mn1;
        }
        return max(pas,mx-mn);
    }
    while(1){
        if(mn>=mx) break;
        if(MX-xr-1<mn)MinMax(mn+1,MX,&mn1,&mx1); else
        MinMax(mn+1,mn+1+xr,&mn1,&mx1);

        if(mn1==-1) {xr*=2;continue;}
        pas=max(pas,mn1-mn);
        mn=mx1;

    }

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