제출 #351091

#제출 시각아이디문제언어결과실행 시간메모리
351091ladpro98Gap (APIO16_gap)C++17
30 / 100
62 ms1260 KiB
#include <algorithm> #include "gap.h" using namespace std; const long long MAX_VALUE = 1000000000000000000LL; long long task1(int n) { long long l = -1; long long r = MAX_VALUE + 1; long long res = 0; for (int i = 1; i <= (n + 1) / 2; ++i) { long long ll, rr; MinMax(l + 1, r - 1, &ll, &rr); if (i > 1) { res = max(res, ll - l); res = max(res, r - rr); } l = ll; r = rr; } res = max(res, r - l); return res; } long long task2(int n) { long long minimum; long long maximum; MinMax(0, MAX_VALUE, &minimum, &maximum); long long step = (maximum - minimum) / (n - 1); long long res = 0; long long last = minimum; for (long long v = minimum; v <= maximum; v += step + 1) { long long l, r; MinMax(v, v + step, &l, &r); if (l != -1) { res = max(res, l - last); last = r; } } return res; } long long findGap(int T, int N) { return T == 1 ? task1(N) : task2(N); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...