Submission #560804

#TimeUsernameProblemLanguageResultExecution timeMemory
560804messiuuuuuGap (APIO16_gap)C++14
30 / 100
1435 ms524288 KiB
#include <bits/stdc++.h>
#include "gap.h"
#define task "B"
#define ll long long
#define ld long double
#define fi first
#define se second
#define pb push_back
using namespace std;
const int MAXN = 1e5 + 5;
const ll INF = 1e18 + 5;

ll ans = 0;

void Dnc(ll l, ll r)
{
    ll mn, mx;
    MinMax(l, r, &mn, &mx);
    ll mid = (l + r) / 2;
    if (mn == -1)
    {
        return;
    }
    ans = max(ans, mx - mn);
    Dnc(l, mid);
    Dnc(mid + 1, r);
}

ll findGap(int t, int n)
{
    if (t == 1)
    {
        ll l = 0, r = 1e18, a[n + 1];
        for (int i = 1; i <= n && (n - i + 1) >= i; i++)
        {
            MinMax(l, r, &a[i], &a[n - i + 1]);
            l = a[i] + 1;
            r = a[n - i + 1] - 1;
        }
        ans = 0;
        for (int i = 2; i <= n; i++)
        {
            ans = max(ans, a[i] - a[i - 1]);
        }
        return ans;
    }
    ans = 0;
    Dnc(0, 1e18);
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...