제출 #1308644

#제출 시각아이디문제언어결과실행 시간메모리
1308644HasanV11010238Gap (APIO16_gap)C++20
70 / 100
47 ms3232 KiB
#include "gap.h" #include <bits/stdc++.h> #define ll long long #define MAX 1000000000000000000 using namespace std; long long findGap(int T, int N) { ll mi = 0, ma = 0, ans = 0, cur = 0, mx, sz; MinMax(0, MAX, &mi, &ma); if (T == 1){ vector<ll> v; while (mi <= ma && mi != -1){ v.push_back(mi); v.push_back(ma); if (mi + 1 > ma - 1) break; ll cl = mi + 1, cr = ma - 1; MinMax(cl, cr, &mi, &ma); } sort(v.begin(), v.end()); for (int i = 1; i < v.size(); i++){ ans = max(ans, v[i] - v[i - 1]); } } else{ ans = (ma - mi) / (ll)(N - 1), cur = mi; mx = ma, sz = ans; while (cur < mx){ MinMax(cur + 1, cur + sz, &mi, &ma); if (mi == -1){ sz *= 2; } else{ ans = max(ans, mi - cur); cur = ma, sz = ans; } } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...