제출 #708738

#제출 시각아이디문제언어결과실행 시간메모리
708738hngwlogGap (APIO16_gap)C++14
0 / 100
2682 ms12540 KiB
#include <bits/stdc++.h> #include "gap.h" using namespace std; long long findGap(int t, int n) { vector<long long> a(n + 1); if (t == 1) { long long mi = - 1, ma = 1e18 + 1; int l = 1; int r = n; while (l <= r) { MinMax(mi + 1, ma - 1, &mi, &ma); a[l] = mi, a[r] = ma; l++, r--; } long long ans = 0; for (int i = 2; i <= n; i++) ans = max(ans, a[i] - a[i - 1]); return ans; } long long ans = 0; long long mi = - 1, ma = 1e18 + 1; long long start = mi; MinMax(mi + 1, ma - 1, &mi, &ma); long long maxx = ma; long long res = (ma - mi) / (n - 1); while (mi != maxx) { int cnt = 0; long long cur_mi = mi; long long fp = ((mi - start) / res + 1) * res + start; cerr << "BEFORE: " << cur_mi + 1 << " " << fp << '\n'; MinMax(cur_mi + 1, fp, &mi, &ma); cerr << mi << ' ' << ma << '\n' << '\n'; while (mi == - 1) { cerr << "BEFORE: " << cur_mi + 1 << " " << fp + res * (cnt + 1) << '\n'; MinMax(cur_mi + 1, fp + res * (++cnt), &mi, &ma); cerr << mi << ' ' << ma << '\n' << '\n'; } ans = max(ans, mi - cur_mi); mi = ma; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...