제출 #47956

#제출 시각아이디문제언어결과실행 시간메모리
479563zpGap (APIO16_gap)C++14
0 / 100
82 ms1532 KiB
#include "gap.h"
#define ll long long
#include<bits/stdc++.h>
using namespace std;
long long findGap(int T, int N)
{
    ll s, t;
    MinMax(0, 1e18, &s, &t);
    ll L = t - s;
    ll d = (L + N - 2) / (N - 1);
    d++;
    ll ans = d-1;
    ll x = s;
    while(x != t){
        ll p, q;
        if(x + d >= t) break;
         MinMax(x + 1, x + d, &p , &q);
        if(q != -1) {
            ans = max(ans, p - x);
            x = q;
            continue;
        }
        ll w = 2;
        while(1){
            if(x + w*d >= t) {

                MinMax(x + 1,t-1,&p , &q);
                ans = max(ans, p-x);
                return ans;
            }
            MinMax(x + 1,min( x + w * d, (ll)1e18),&p , &q);
            if(q == -1) {w++; continue;}
            ans = max(ans, p - x);
            x = q;
            break;
        }
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...