제출 #1083360

#제출 시각아이디문제언어결과실행 시간메모리
1083360SeungniGap (APIO16_gap)C++17
0 / 100
40 ms1160 KiB
#include <bits/stdc++.h>
#include "gap.h"
using namespace std;
using ll = long long;
using pii = pair<int, int>;

ll ans[100005];

long long findGap(int T, int N) {
    
    ll l = 0, r = 1e18 + 500;
    
    ll mn, mx;
    MinMax(l, r, &mn, &mx);
    
    l = mn, r = mx;
    
    ll len = (r - 1) - (l + 1) + 1;
    
    if (N == 2) return r - l;
    
    ll idx = l + 1, add = len / (N - 2);
    
    ll ret = 0;
    
    for (int i = 0; i < N - 2; i++) {
        if (i == N - 3) {
            MinMax(idx, r - 1, &mn, &mx);
            if (mn == -1 && mx == -1) continue;
            ret = max(ret, mn - l);
            ret = max(ret, mx - mn);
            ret = max(ret, r - mx);
        } else {
            MinMax(idx, idx + add - 1, &mn, &mx);
            if (mn == -1 && mx == -1) continue;
            ret = max(ret, mn - l);
            ret = max(ret, mx - mn);
            l = mx;
        }
        idx += add;
    }
    
    return ret;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...