Submission #515642

#TimeUsernameProblemLanguageResultExecution timeMemory
515642Aldas25Gap (APIO16_gap)C++14
30 / 100
61 ms1944 KiB
#include "gap.h" #include<bits/stdc++.h> using namespace std; #define FAST_IO ios_base::sync_with_stdio(0); cin.tie(nullptr) #define FOR(i, a, b) for(int i = (a); i <= (b); i++) #define REP(n) FOR(i, 1, (n)) #define f first #define s second #define pb push_back typedef long long ll; const int MAXN = 100100; const ll INF = 1e18; ll a[MAXN]; long long findGap(int T, int n) { if (T == 1) { int le = 2, ri = n-1; //a[0] = -1, a[n+1] = INF; MinMax(0, INF, &a[1], &a[n]); int m = 0; while (le <= ri) { MinMax(a[le-1]+1, a[ri+1]-1, &a[le], &a[ri]); m++; le++; ri--; } ll ans = 0; FOR(i, 1, n-1) { ans = max(ans, a[i+1] - a[i]); } return ans; } else { ll mn, mx; MinMax(0, INF, &mn, &mx); ll x = (mx-mn + n - 1) / (n - 1); ll ans = x; ll lst = mn; for (ll i = mn; i <= mx; i += x) { ll le, ri; MinMax(i, min(i + x - 1, mx), &le, &ri); if (le != -1) { ans = max(ans, le - lst); lst = ri; } } return ans; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...