제출 #160227

#제출 시각아이디문제언어결과실행 시간메모리
160227BlueDiamondGap (APIO16_gap)C++14
42.89 / 100
157 ms2096 KiB
#include <bits/stdc++.h> 
#include "gap.h"

using namespace std;

typedef long long ll;
ll hidden[(int) 1e5 + 7];
int cur;

void run(ll x, ll y) {
        if (x > y)
                return;
        ll mn, mx;
        MinMax(x, y, &mn, &mx);
        if (mn == -1 && mx == -1)
                return;
        if (mn == mx) {
                hidden[++cur] = mn;
                return;
        }
        hidden[++cur] = mn;
        ll mid = (mn + mx) / 2;
        run(mn + 1, mid);
        run(mid + 1, mx - 1);
        hidden[++cur] = mx;
}


ll findGap(int T, int N) {
        if (T == 2) {
                ll ans = 0;
                run(0, (ll) 1e18);
        } else {
                int i = 1, j = N;
                ll s = 0, t = (ll) 1e18, ans = 0;
                while (i <= j) {
                        ll mn, mx;
                        MinMax(s, t, &mn, &mx);
                        hidden[i] = mn;
                        hidden[j] = mx;
                        s = mn + 1;
                        t = mx - 1;
                        i++;
                        j--;
                }
        }
        ll ans = 0;
        for (int i = 1; i < N; i++)
                ans = max(ans, hidden[i + 1] - hidden[i]);
        return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

gap.cpp: In function 'll findGap(int, int)':
gap.cpp:31:20: warning: unused variable 'ans' [-Wunused-variable]
                 ll ans = 0;
                    ^~~
gap.cpp:35:42: warning: unused variable 'ans' [-Wunused-variable]
                 ll s = 0, t = (ll) 1e18, ans = 0;
                                          ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...