제출 #84382

#제출 시각아이디문제언어결과실행 시간메모리
84382Alexa2001Gap (APIO16_gap)C++17
48.54 / 100
89 ms21116 KiB
#include "gap.h"
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
const ll lim = 1e18;

long long findGap(int T, int N)
{
    ll *A, *B;
    ll ans = 0;
    A = new ll(); B = new ll();

    if(T == 1)
    {
        ll x = 0, y = lim;
        int i;
        for(i=0; i<(N+1)/2; ++i)
        {
            MinMax(x, y, A, B);
            if(i)
            {
                ans = max(ans, *A - x + 1);
                ans = max(ans, y - *B + 1);
            }
            x = *A + 1;
            y = *B - 1;
        }
        return ans;
    }

    MinMax(0, lim, A, B);
    ll X, Y;
    X = *A, Y = *B;

    ll i, S = (ll)( (Y-X+1) / N );
    vector<ll> endpoints;

    for(i = 0; i <= Y-X+1; i += S)
    {
        MinMax(X+i, X + min(i+S-1, Y-X+1), A, B);
        if(*A == -1) continue;
        endpoints.push_back(*A);
        endpoints.push_back(*B);
    }

    int j;
    for(j=0; j<endpoints.size()-1; ++j)
        ans = max(ans, endpoints[j+1] - endpoints[j]);
    return ans;
}

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

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:48:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(j=0; j<endpoints.size()-1; ++j)
              ~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...