Submission #143148

#TimeUsernameProblemLanguageResultExecution timeMemory
143148alextodoranGap (APIO16_gap)C++14
30 / 100
73 ms2040 KiB
#include <bits/stdc++.h> #define ll long long #define N_MAX 100002 using namespace std; const ll INF = 1000000000000000000; void MinMax(long long s, long long t, long long *mn, long long *mx); ll a[N_MAX]; ll mi, mx; ll findGap (int t, int n) { if(t == 1) { a[0] = -1; a[n + 1] = INF + 1; int x = 1, y = n; while(x <= y) { MinMax(a[x - 1] + 1, a[y + 1] - 1, &mi, &mx); a[x] = mi; a[y] = mx; x++; y--; } } else { a[0] = -1; for(int i = 1; i <= n; i++) { ll l = a[i - 1] + 1, r = INF; while(l < r) { ll mid = (l + r) / 2; MinMax(l, mid, &mi, &mx); if(mi == -1) l = mid + 1; else { a[i] = mi; break; } } } } ll ans = 0; for(int i = 2; i <= n; i++) ans = max(ans, a[i] - a[i - 1]); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...