Submission #568653

#TimeUsernameProblemLanguageResultExecution timeMemory
568653DeepessonGap (APIO16_gap)C++17
30 / 100
75 ms8512 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;++r;
        while(mapa.size()!=N){
            ll a,b;
            if(l+1>r-1)break;
            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;
        }
        ll max=0;
        std::vector<ll> vec;
        std::sort(vec.begin(),vec.end());
        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;
    }
}

Compilation message (stderr)

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:15:26: warning: comparison of integer expressions of different signedness: 'std::map<long long int, bool>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   15 |         while(mapa.size()!=N){
      |               ~~~~~~~~~~~^~~
gap.cpp:33:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |         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...