제출 #1083395

#제출 시각아이디문제언어결과실행 시간메모리
1083395djs100201Gap (APIO16_gap)C++17
30 / 100
32 ms2000 KiB
#include "gap.h" #include <bits/stdc++.h> #define all(v) v.begin(), v.end() using namespace std; using ll = long long; using P = pair<ll, ll>; using PP = pair<ll, P>; const ll n_ = 2e5 + 10, inf = (ll)2e9 * (ll)1e9 + 7, mod = 998244353; ll n, m, tc = 1, a, b, c, d, sum, x, y, z, base, ans, k; ll findGap(int T, int N) { if (T == 1) { vector<ll> res(N); ll l = 0, r = 1e18, mn, mx, lidx = 0, ridx = N - 1; for (int i = 0; i < (N + 1) / 2; i++) { MinMax(l, r, &mn, &mx); res[lidx++] = mn, res[ridx--] = mx; l = mn + 1, r = mx - 1; } ll ret = 0; for (int i = 1; i < N; i++) ret = max(ret, res[i] - res[i - 1]); return ret; } else { ll l = 0, r = 1e18, ret = 0, mn, mx; MinMax(l, r, &mn, &mx); r = mx; ll gap = mx - mn, new_gap = gap / N; ll x = mn; while (1) { MinMax(x + 1, x + new_gap, &mn, &mx); if (mn == -1) break; if (mx == -1) { ret = max(ret, mn - x); x = mn; } else { ret = max(ret, mn - x); x = mx; } } return ret; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...