# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1168245 | stdfloat | Gap (APIO16_gap) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
#include "gap.h"
#include "grader.cpp"
using namespace std;
using ll = long long;
ll findGap(int T, int n) {
// if (T == 1) {
// ll s = LLONG_MIN, t = LLONG_MAX, mx = 0;
// for (int i = 0; i < ((n + 1) >> 1); i++) {
// ll x, y;
// MinMax(s + 1, t - 1, &x, &y);
// if (i) mx = max({mx, x - s, t - y});
// s = x; t = y;
// }
// return max(mx, t - s);
// }
ll s, t;
MinMax(LLONG_MIN, LLONG_MAX, &s, &t);
ll x = s, mx, l = (t - s) / (n + 1);
while (s <= t) {
ll a, b;
MinMax(s, s + l, &a, &b);
if (~a) {
mx = max(mx, a - x);
x = b;
}
s += l + 1;
}
return mx;
}