# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
579798 |
2022-06-19T22:07:31 Z |
stevancv |
Gap (APIO16_gap) |
C++14 |
|
42 ms |
1872 KB |
#include <bits/stdc++.h>
#include "gap.h"
#define ll long long
#define ld long double
#define sp ' '
#define en '\n'
#define smin(a, b) a = min(a, b)
#define smax(a, b) a = max(a, b)
using namespace std;
const int N = 1e5 + 2;
ll findGap(int t, int n) {
if (t == 1) {
vector<ll> a(n);
ll mn = 0; ll mx = 1e18;
for (int i = 0; i < n; i++) {
if (i > n - i - 1) break;
MinMax(mn, mx, &a[i], &a[n - i - 1]);
mn = a[i] + 1;
mx = a[n - i - 1] - 1;
}
ll ans = 0;
for (int i = 1; i < n; i++) smax(ans, a[i] - a[i - 1]);
return ans;
}
ll mn = 0; ll mx = 1e18;
MinMax(0, 1e18, &mn, &mx);
ll gap = (mx - mn + n - 2) / (n - 1);
while (mn <= mx) {
ll p, q, r, s;
p = q = r = s = 0;
if (mn + gap + 1 > mx - gap - 1) break;
MinMax(mn + gap + 1, mx - gap - 1, &p, &q);
if (p != -1) {
if (mn + 1 <= p - gap - 1) MinMax(mn + 1, p - gap - 1, &r, &s);
if (r != -1) smax(gap, p - r);
else smax(gap, p - mn);
s = -1;
if (q + gap + 1 <= mx - 1) MinMax(q + gap + 1, mx - 1, &r, &s);
if (s != -1) smax(gap, s - q);
else smax(gap, mx - q);
mn = p;
mx = q;
}
else {
MinMax(mn + 1, mn + gap, &p, &q);
MinMax(mx - gap, mx - 1, &r, &s);
if (q != -1) smax(mn, q);
if (r != -1) smin(mx, r);
smax(gap, mx - mn);
break;
}
}
return gap;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Output is correct |
2 |
Correct |
0 ms |
208 KB |
Output is correct |
3 |
Correct |
0 ms |
208 KB |
Output is correct |
4 |
Correct |
1 ms |
208 KB |
Output is correct |
5 |
Correct |
0 ms |
208 KB |
Output is correct |
6 |
Correct |
0 ms |
208 KB |
Output is correct |
7 |
Correct |
0 ms |
208 KB |
Output is correct |
8 |
Correct |
0 ms |
208 KB |
Output is correct |
9 |
Correct |
1 ms |
208 KB |
Output is correct |
10 |
Correct |
0 ms |
208 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 |
11 ms |
688 KB |
Output is correct |
17 |
Correct |
10 ms |
684 KB |
Output is correct |
18 |
Correct |
10 ms |
720 KB |
Output is correct |
19 |
Correct |
9 ms |
684 KB |
Output is correct |
20 |
Correct |
8 ms |
592 KB |
Output is correct |
21 |
Correct |
36 ms |
1844 KB |
Output is correct |
22 |
Correct |
42 ms |
1872 KB |
Output is correct |
23 |
Correct |
42 ms |
1836 KB |
Output is correct |
24 |
Correct |
39 ms |
1832 KB |
Output is correct |
25 |
Correct |
36 ms |
1840 KB |
Output is correct |
26 |
Correct |
38 ms |
1864 KB |
Output is correct |
27 |
Correct |
36 ms |
1836 KB |
Output is correct |
28 |
Correct |
40 ms |
1788 KB |
Output is correct |
29 |
Correct |
37 ms |
1828 KB |
Output is correct |
30 |
Correct |
28 ms |
1872 KB |
Output is correct |
31 |
Correct |
0 ms |
208 KB |
Output is correct |
32 |
Correct |
0 ms |
208 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Output is correct |
2 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
3 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
4 |
Partially correct |
0 ms |
208 KB |
Partially correct |
5 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
6 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
7 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
8 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
9 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
10 |
Incorrect |
1 ms |
208 KB |
Output isn't correct |
11 |
Incorrect |
1 ms |
208 KB |
Output isn't correct |
12 |
Incorrect |
1 ms |
336 KB |
Output isn't correct |
13 |
Incorrect |
1 ms |
336 KB |
Output isn't correct |
14 |
Incorrect |
1 ms |
336 KB |
Output isn't correct |
15 |
Incorrect |
1 ms |
208 KB |
Output isn't correct |
16 |
Incorrect |
5 ms |
464 KB |
Output isn't correct |
17 |
Incorrect |
5 ms |
464 KB |
Output isn't correct |
18 |
Incorrect |
4 ms |
508 KB |
Output isn't correct |
19 |
Incorrect |
5 ms |
464 KB |
Output isn't correct |
20 |
Incorrect |
3 ms |
464 KB |
Output isn't correct |
21 |
Incorrect |
20 ms |
1024 KB |
Output isn't correct |
22 |
Incorrect |
31 ms |
1048 KB |
Output isn't correct |
23 |
Incorrect |
19 ms |
1008 KB |
Output isn't correct |
24 |
Incorrect |
19 ms |
1060 KB |
Output isn't correct |
25 |
Incorrect |
14 ms |
1068 KB |
Output isn't correct |
26 |
Incorrect |
18 ms |
1056 KB |
Output isn't correct |
27 |
Incorrect |
18 ms |
964 KB |
Output isn't correct |
28 |
Incorrect |
21 ms |
1056 KB |
Output isn't correct |
29 |
Incorrect |
19 ms |
1036 KB |
Output isn't correct |
30 |
Incorrect |
9 ms |
1104 KB |
Output isn't correct |
31 |
Correct |
1 ms |
208 KB |
Output is correct |
32 |
Correct |
1 ms |
208 KB |
Output is correct |