#include "gap.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long
long long findGap(int T, int N) {
if (T == 1) {
vector<ll> a;
auto calc = [&](auto self, ll l, ll r) -> void {
if (l > r || (int)a.size() == N) return;
ll x, y;
MinMax(l, r, &x, &y);
if (x != -1)
a.push_back(x);
if (y != x)
a.push_back(y);
self(self, x + 1, y - 1);
};
calc(calc, 0, 1e18);
sort(a.begin(), a.end());
ll res = a[1] - a[0];
for (int i = 2; i < N; ++i)
res = max(res, a[i] - a[i - 1]);
return res;
}
ll mn, mx;
MinMax(1, 1e18, &mn, &mx);
ll step = (mx - mn) / (N - 1);
ll ans = step, x, y, l = mn, i;
for (i = mn; i + step < mx; i += step + 1) {
MinMax(i, i + step, &x, &y);
if (x != -1) {
ans = max(ans, x - l);
l = y;
}
}
MinMax(i, mx, &x, &y);
if (x != -1) ans = max(ans, x - l);
return ans;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
336 KB |
Output is correct |
2 |
Correct |
1 ms |
336 KB |
Output is correct |
3 |
Correct |
1 ms |
336 KB |
Output is correct |
4 |
Correct |
1 ms |
336 KB |
Output is correct |
5 |
Correct |
1 ms |
336 KB |
Output is correct |
6 |
Correct |
1 ms |
336 KB |
Output is correct |
7 |
Correct |
0 ms |
336 KB |
Output is correct |
8 |
Correct |
1 ms |
336 KB |
Output is correct |
9 |
Correct |
1 ms |
336 KB |
Output is correct |
10 |
Correct |
1 ms |
336 KB |
Output is correct |
11 |
Correct |
1 ms |
504 KB |
Output is correct |
12 |
Correct |
1 ms |
336 KB |
Output is correct |
13 |
Correct |
1 ms |
336 KB |
Output is correct |
14 |
Correct |
1 ms |
336 KB |
Output is correct |
15 |
Correct |
1 ms |
336 KB |
Output is correct |
16 |
Correct |
9 ms |
1376 KB |
Output is correct |
17 |
Correct |
9 ms |
1484 KB |
Output is correct |
18 |
Correct |
9 ms |
1484 KB |
Output is correct |
19 |
Correct |
8 ms |
1484 KB |
Output is correct |
20 |
Correct |
7 ms |
1484 KB |
Output is correct |
21 |
Correct |
38 ms |
4028 KB |
Output is correct |
22 |
Correct |
45 ms |
4028 KB |
Output is correct |
23 |
Correct |
35 ms |
4028 KB |
Output is correct |
24 |
Correct |
33 ms |
4028 KB |
Output is correct |
25 |
Correct |
29 ms |
4036 KB |
Output is correct |
26 |
Correct |
32 ms |
4036 KB |
Output is correct |
27 |
Correct |
33 ms |
4036 KB |
Output is correct |
28 |
Correct |
33 ms |
4036 KB |
Output is correct |
29 |
Correct |
37 ms |
4116 KB |
Output is correct |
30 |
Correct |
30 ms |
4032 KB |
Output is correct |
31 |
Correct |
1 ms |
336 KB |
Output is correct |
32 |
Correct |
1 ms |
336 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
336 KB |
Output is correct |
2 |
Correct |
1 ms |
336 KB |
Output is correct |
3 |
Correct |
1 ms |
336 KB |
Output is correct |
4 |
Correct |
1 ms |
336 KB |
Output is correct |
5 |
Correct |
1 ms |
336 KB |
Output is correct |
6 |
Correct |
1 ms |
336 KB |
Output is correct |
7 |
Correct |
1 ms |
336 KB |
Output is correct |
8 |
Correct |
1 ms |
336 KB |
Output is correct |
9 |
Correct |
1 ms |
336 KB |
Output is correct |
10 |
Correct |
1 ms |
336 KB |
Output is correct |
11 |
Correct |
1 ms |
336 KB |
Output is correct |
12 |
Correct |
1 ms |
336 KB |
Output is correct |
13 |
Correct |
1 ms |
336 KB |
Output is correct |
14 |
Correct |
1 ms |
336 KB |
Output is correct |
15 |
Correct |
1 ms |
336 KB |
Output is correct |
16 |
Correct |
9 ms |
592 KB |
Output is correct |
17 |
Correct |
9 ms |
592 KB |
Output is correct |
18 |
Correct |
13 ms |
592 KB |
Output is correct |
19 |
Correct |
11 ms |
592 KB |
Output is correct |
20 |
Correct |
5 ms |
592 KB |
Output is correct |
21 |
Correct |
40 ms |
1104 KB |
Output is correct |
22 |
Correct |
41 ms |
1144 KB |
Output is correct |
23 |
Correct |
39 ms |
1232 KB |
Output is correct |
24 |
Correct |
40 ms |
1104 KB |
Output is correct |
25 |
Correct |
36 ms |
1232 KB |
Output is correct |
26 |
Correct |
40 ms |
1236 KB |
Output is correct |
27 |
Correct |
45 ms |
1104 KB |
Output is correct |
28 |
Correct |
49 ms |
1104 KB |
Output is correct |
29 |
Correct |
38 ms |
1104 KB |
Output is correct |
30 |
Correct |
24 ms |
1308 KB |
Output is correct |
31 |
Correct |
1 ms |
336 KB |
Output is correct |
32 |
Correct |
1 ms |
336 KB |
Output is correct |