#include "plants.h"
#include<bits/stdc++.h>
using namespace std;
int N;
bool sub1;
vector<int> esq, dir;
void init(int k, vector<int> r) {
sub1 = k == 2;
N = r.size();
if(sub1){
esq = vector<int> (N);
dir = vector<int> (N);
int ini;
for(ini = 0; ini < N; ini++)
if(r[ini] == 0) break;
ini++;
ini %= N;
esq[ini] = 0;
for(int i = ini + 1; i != ini; i++, i %= N){
int ant = i - 1;
if(ant < 0) ant += N;
esq[i] = esq[ant] + 1;
if(r[ant] == 0) esq[i] = 0;
}
for(ini = 0; ini < N; ini++)
if(r[ini] == 1) break;
dir[ini] = 0;
for(int i = (ini + N - 1) % N; i != ini; i += N - 1, i %= N){
int nex = i + 1;
if(nex >= N) nex -= N;
dir[i] = dir[nex] + 1;
if(r[i] == 1) dir[i] = 0;
}
}
return;
}
int compare_plants(int x, int y) {
if(sub1){
if(x + dir[x] >= y) return 1;
if(x - esq[x] < 0 && (x + N - esq[x]) % N <= y) return 1;
if(y - esq[y] <= x) return -1;
if(y + dir[y] > N && (y + dir[y]) % N >= x) return -1;
return 0;
}
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
1 ms |
204 KB |
Output is correct |
4 |
Correct |
1 ms |
204 KB |
Output is correct |
5 |
Correct |
1 ms |
204 KB |
Output is correct |
6 |
Correct |
75 ms |
3172 KB |
Output is correct |
7 |
Correct |
70 ms |
3524 KB |
Output is correct |
8 |
Correct |
94 ms |
5832 KB |
Output is correct |
9 |
Correct |
94 ms |
5868 KB |
Output is correct |
10 |
Correct |
91 ms |
5876 KB |
Output is correct |
11 |
Correct |
91 ms |
5880 KB |
Output is correct |
12 |
Correct |
94 ms |
5872 KB |
Output is correct |
13 |
Correct |
100 ms |
5828 KB |
Output is correct |
14 |
Correct |
86 ms |
5824 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Incorrect |
1 ms |
204 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Incorrect |
1 ms |
204 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Incorrect |
1 ms |
204 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
296 KB |
Output is correct |
3 |
Correct |
1 ms |
204 KB |
Output is correct |
4 |
Incorrect |
1 ms |
284 KB |
Output isn't correct |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Incorrect |
1 ms |
204 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
1 ms |
204 KB |
Output is correct |
4 |
Correct |
1 ms |
204 KB |
Output is correct |
5 |
Correct |
1 ms |
204 KB |
Output is correct |
6 |
Correct |
75 ms |
3172 KB |
Output is correct |
7 |
Correct |
70 ms |
3524 KB |
Output is correct |
8 |
Correct |
94 ms |
5832 KB |
Output is correct |
9 |
Correct |
94 ms |
5868 KB |
Output is correct |
10 |
Correct |
91 ms |
5876 KB |
Output is correct |
11 |
Correct |
91 ms |
5880 KB |
Output is correct |
12 |
Correct |
94 ms |
5872 KB |
Output is correct |
13 |
Correct |
100 ms |
5828 KB |
Output is correct |
14 |
Correct |
86 ms |
5824 KB |
Output is correct |
15 |
Correct |
1 ms |
204 KB |
Output is correct |
16 |
Correct |
1 ms |
204 KB |
Output is correct |
17 |
Incorrect |
1 ms |
204 KB |
Output isn't correct |
18 |
Halted |
0 ms |
0 KB |
- |