제출 #568649

#제출 시각아이디문제언어결과실행 시간메모리
568649DeepessonGap (APIO16_gap)C++17
0 / 100
74 ms8548 KiB
#include <bits/stdc++.h>

#include "gap.h"

void MinMax(long long, long long, long long*, long long*);

using ll = long long;
long long findGap(int T, int N)
{
    if(T==2)
	return 0;
    else {
        std::map<ll,bool> mapa;
        ll l=-1,r=1e18+1;
        while(l+1<=r-1){
            ll a,b;
            MinMax(l+1,r-1,&a,&b);
            if(a!=-1){
                mapa[a]=true;
                l=a;
            }
            if(b!=-1){
                mapa[b]=true;
                r=b;
            }
            if(a==b&&a==-1)break;
            if(mapa.size()==N)break;
        }
        ll max=0;
        std::vector<ll> vec;
        for(auto&x:mapa)vec.push_back(x.first);
        for(int i=1;i!=vec.size();++i)max=std::max(max,vec[i]-vec[i-1]);
        return max;
    }
}

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

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:27:27: warning: comparison of integer expressions of different signedness: 'std::map<long long int, bool>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   27 |             if(mapa.size()==N)break;
      |                ~~~~~~~~~~~^~~
gap.cpp:32:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |         for(int i=1;i!=vec.size();++i)max=std::max(max,vec[i]-vec[i-1]);
      |                     ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...