제출 #143135

#제출 시각아이디문제언어결과실행 시간메모리
143135alextodoranGap (APIO16_gap)C++14
30 / 100
1606 ms2100 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 r = mid; } a[i] = l; } } 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...