제출 #95692

#제출 시각아이디문제언어결과실행 시간메모리
95692dwscGap (APIO16_gap)C++14
100 / 100
64 ms2044 KiB
#include "gap.h"
#include <bits/stdc++.h>
using namespace std;
long long findGap(int T, int N)
{
    if (T == 1){
    long long arr[N];
    long long x1,x2;
    long long low = 0,high = 1e18;
    for (int i = 0; i < (N+1)/2; i++){
        MinMax(low,high,&x1,&x2);
        arr[i] = x1,arr[N-i-1] = x2;
        low = x1+1,high = x2-1;
    }
    long long ans = 0;
    for (int i = 0; i < N-1; i++) ans = max(ans,arr[i+1]-arr[i]);
    return ans;
    }
    long long low,high;
    MinMax(0,1e18,&low,&high);
    long long gap = (high-low+N-1)/(N-1);
    long long prev = low;
    long long ans = 0;
    long long t1,t2;
    for (long long lower = low; lower < high; lower += gap){
        MinMax(lower+1,lower+gap,&t1,&t2);
       // cout << lower << t1 << " " << t2 << "\n";
        if (t1 != -1) ans = max(ans,t1-prev);
        if (t2 != -1) prev = t2;
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...