#include <bits/stdc++.h>
using ll = long long;
using namespace std;
const int N = 200200;
int level[N];
void init(int k, vector<int> r) {
int n = r.size();
int ok = 0, last, lev = n, iter = 0;
while (ok < n) {
last = -k;
for (int i = n - 1; i > n - k; i--) {
if (!r[i]) {
last = i - n;
break;
}
}
vector<int> nw = r;
for (int i = 0; i < n; i++) {
if (!r[i]) {
if (i - last >= k) {
level[i] = lev;
ok++;
for (int j = i - 1; j > i - k; j--) {
if (j >= 0) {
nw[j]--;
} else {
nw[j + n]--;
}
}
nw[i] = INT32_MAX / 2;
}
last = i;
}
}
swap(nw, r);
lev--;
iter++;
assert(iter < n + 10);
}
}
int compare_plants(int x, int y) {
if (level[x] < level[y]) {
return -1;
}
return level[x] > level[y];
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
5 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Correct |
0 ms |
348 KB |
Output is correct |
5 |
Correct |
0 ms |
348 KB |
Output is correct |
6 |
Correct |
2 ms |
348 KB |
Output is correct |
7 |
Correct |
63 ms |
3332 KB |
Output is correct |
8 |
Correct |
1 ms |
348 KB |
Output is correct |
9 |
Correct |
2 ms |
348 KB |
Output is correct |
10 |
Correct |
63 ms |
3124 KB |
Output is correct |
11 |
Correct |
59 ms |
3128 KB |
Output is correct |
12 |
Correct |
57 ms |
3332 KB |
Output is correct |
13 |
Correct |
70 ms |
3332 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Correct |
0 ms |
348 KB |
Output is correct |
5 |
Correct |
0 ms |
348 KB |
Output is correct |
6 |
Correct |
2 ms |
348 KB |
Output is correct |
7 |
Correct |
63 ms |
3332 KB |
Output is correct |
8 |
Correct |
1 ms |
348 KB |
Output is correct |
9 |
Correct |
2 ms |
348 KB |
Output is correct |
10 |
Correct |
63 ms |
3124 KB |
Output is correct |
11 |
Correct |
59 ms |
3128 KB |
Output is correct |
12 |
Correct |
57 ms |
3332 KB |
Output is correct |
13 |
Correct |
70 ms |
3332 KB |
Output is correct |
14 |
Correct |
360 ms |
3380 KB |
Output is correct |
15 |
Execution timed out |
4102 ms |
5680 KB |
Time limit exceeded |
16 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
344 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
38 ms |
3268 KB |
Output is correct |
4 |
Execution timed out |
4045 ms |
5684 KB |
Time limit exceeded |
5 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
1 ms |
348 KB |
Output is correct |
3 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
5 |
Halted |
0 ms |
0 KB |
- |