Submission #908643

#TimeUsernameProblemLanguageResultExecution timeMemory
908643ByeWorldGap (APIO16_gap)C++14
0 / 100
73 ms7480 KiB
#include "gap.h" #include <bits/stdc++.h> #define bupol __builtin_popcount //#define int long long #define ll long long #define ld long double #define fi first #define se second #define pb push_back #define lf (id<<1) #define rg ((id<<1)|1) #define md ((l+r)>>1) using namespace std; const int MAXN = 1e5+5; const int MAXK = 205; const int LOG = 20; const int MOD = 1e9+7; const int SQRT = 520; const ll INF = 1e18; typedef pair<ll,ll> pii; typedef pair<ll,pii> ipii; ll mn, mx; int n; set<ll> s; ll ans = -INF; ll le; long long findGap(int T, int N) { n = N; MinMax(0, INF, &mn, &mx); le = mn; s.insert(mn); s.insert(mx); ll len = mx-mn-1, idx = mn; for(ll i=1; i<=n+1; i++){ // n+1 segment ll nx = (len*i) / (n+1) + le; if(idx+1 <= nx){ //cout << idx+1 << ' ' << nx << " p\n"; MinMax(idx+1, nx, &mn, &mx); s.insert(mn); s.insert(mx); } idx = nx; } //for(auto in : s) cout << in << " xx\n"; auto it = s.begin(); ll las = -1; while(it != s.end()){ if(las != -1) ans = max(ans, (*it)-las); las = (*it); it++; } //for(auto in : s) cout << in << " in\n"; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...