Submission #625152

#TimeUsernameProblemLanguageResultExecution timeMemory
625152PoonYaPatGap (APIO16_gap)C++14
0 / 100
57 ms3204 KiB
#include "gap.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> pll; vector<pll> v; vector<ll> k; ll mx,mn,ans; ll findGap(int T, int n) { if (T==1) { mn=0, mx=1e18; while (k.size()<n) { MinMax(mn+1,mx-1,&mn,&mx); if (mn==mx) k.push_back(mn); else { k.push_back(mn); k.push_back(mx); } } sort(k.begin(),k.end()); for (int i=1; i<k.size(); ++i) ans=max(ans,k[i]-k[i-1]); } else { MinMax(0,1e18,&mn,&mx); ll mmin=mn,mmax=mx; v.push_back(pll(mn,mn)); if (n==2) return mx-mn; ll wide=(mx-mn+n-3)/(n-2); for (int i=0; i<n-1; ++i) { MinMax(mmin+1+wide*i,min(mmin+wide*(i+1),mmax-1),&mn,&mx); if (mn!=-1) v.push_back(pll(mn,mx)); } v.push_back(pll(mmax,mmax)); for (int i=1; i<v.size(); ++i) ans=max(ans,v[i].first-v[i-1].second); } return ans; } /* 2 6 12 15 34 54 675 678 */

Compilation message (stderr)

gap.cpp: In function 'll findGap(int, int)':
gap.cpp:15:24: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   15 |         while (k.size()<n) {
      |                ~~~~~~~~^~
gap.cpp:24:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |         for (int i=1; i<k.size(); ++i) ans=max(ans,k[i]-k[i-1]);
      |                       ~^~~~~~~~~
gap.cpp:38:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |         for (int i=1; i<v.size(); ++i) ans=max(ans,v[i].first-v[i-1].second);
      |                       ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...