제출 #354943

#제출 시각아이디문제언어결과실행 시간메모리
354943blueGap (APIO16_gap)C++17
30 / 100
53 ms1260 KiB
#include "gap.h"
#include <algorithm>
#include <cmath>
using namespace std;

long long findGap(int T, int N)
{
    long long res = 0;

    if(T == 1 || T == 2)
    {
        long long s, t;
        long long mn;
        long long mx;

        s = 0;
        t = 1000'000'000'000'000'000LL;

        if(N % 2 == 0)
        {
            MinMax(s, t, &mn, &mx);
            s = mn + 1;
            t = mx - 1;
            for(int i = 2; i <= N/2; i++)
            {
                MinMax(s, t, &mn, &mx);
                res = max(res, mn - (s-1));
                res = max(res, (t+1) - mx);

                s = mn + 1;
                t = mx - 1;
            }
            res = max(res, mx - mn);
        }
        else
        {
            MinMax(s, t, &mn, &mx);
            s = mn + 1;
            t = mx - 1;
            for(int i = 2; i <= (N+1)/2; i++)
            {
                MinMax(s, t, &mn, &mx);
                res = max(res, mn - (s-1));
                res = max(res, (t+1) - mx);

                s = mn + 1;
                t = mx - 1;
            }
        }
    }
    // else if(T == 2)

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