Submission #26534

#TimeUsernameProblemLanguageResultExecution timeMemory
26534TAMREFGap (APIO16_gap)C++11
100 / 100
93 ms8308 KiB
#include "gap.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; ll findGap(int T, int N) { ll mn=0,mx=(ll)2e18,tmn,tmx,ans=0; if(T==1){ MinMax(mn,mx,&tmn,&tmx); if(N==2) return tmx-tmn; mn=tmn,mx=tmx; for(int i=1;2*i<=N-1;i++){ MinMax(mn+1,mx-1,&tmn,&tmx); if(tmx==-1){ ans=max(ans,mx-mn); break; } //printf("%lld %lld %lld %lld\n",mn,mx,tmn,tmx); ans=max(ans,max(tmn-mn,mx-tmx)); mn=tmn,mx=tmx; } ans=max(mx-mn,ans); return ans; } else{ MinMax(mn,mx,&tmn,&tmx); if(N==2) return tmx-tmn; ll A=(tmx-tmn+N-2)/(N-1); mn=tmn; vector<ll> V; for(int i=0;i<N-1;i++){ MinMax(mn+A*i+i,mn+A*(i+1)+i,&tmn,&tmx); V.push_back(tmn); V.push_back(tmx); } ll G=0; sort(V.begin(),V.end()); for(int i=0;i<V.size()-1;i++) G=max(G,V[i+1]-V[i]); return G; } return 0; }

Compilation message (stderr)

gap.cpp: In function 'll findGap(int, int)':
gap.cpp:37:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<V.size()-1;i++) G=max(G,V[i+1]-V[i]);
                      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...