Submission #549800

#TimeUsernameProblemLanguageResultExecution timeMemory
549800PherokungGap (APIO16_gap)C++14
100 / 100
66 ms2336 KiB
#include "gap.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll findGap(int T, int n)
{
	if(T == 1){
        vector<ll> V;
        ll l=1,r=1e18,mn,mx,ans=0;
        while(V.size() < n){
            MinMax(l,r,&mn,&mx);
            V.push_back(mn);
            if(mx != mn) V.push_back(mx);
            l = mn + 1, r = mx - 1;
        }
        sort(V.begin(),V.end());
        for(int i=1;i<V.size();i++) ans = max(ans,V[i]-V[i-1]);
        return ans;
	}
	else{
        vector<ll> V;
        ll first,last,mn,mx,ans=0;
        MinMax(1,1e18,&first,&last);
        V.push_back(first), V.push_back(last);
        ll dist = (last-first)/(n-1),pre = first+1;
        while(pre < last && V.size() <= n){
            MinMax(pre,pre+dist,&mn,&mx);
            if(mn != -1 && mn != last) V.push_back(mn);
            if(mx != -1 && mx != mn && mx != last) V.push_back(mx);
            pre = pre+dist+1;
        }
        sort(V.begin(),V.end());
        for(int i=1;i<V.size();i++) ans = max(ans,(ll)V[i]-V[i-1]);
        return ans;
	}
}

Compilation message (stderr)

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:10:24: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   10 |         while(V.size() < n){
      |               ~~~~~~~~~^~~
gap.cpp:17:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |         for(int i=1;i<V.size();i++) ans = max(ans,V[i]-V[i-1]);
      |                     ~^~~~~~~~~
gap.cpp:26:38: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   26 |         while(pre < last && V.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<V.size();i++) ans = max(ans,(ll)V[i]-V[i-1]);
      |                     ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...