#include "plants.h"
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2*1e5+5;
int d[MAXN], e[MAXN], marcd[MAXN], dd[MAXN], marce[MAXN], de[MAXN];
void init(int k, vector<int> r) {
int n = r.size();
for(int i = 0; i < n; i++){
if(r[i] == 0)e[ (i+1)%n ] = 1;
else d[i] = 1;
}
for(int i = 0; i < n; i++){
if(marcd[i] == 0 && d[i]){
int cur = i;
while(d[cur]){
marcd[cur] = i;
dd[ (cur+1)%n ] = dd[cur]+1;
cur = (cur+1)%n;
}
marcd[cur] = i;
}
if(marce[i] == 0 && e[i]){
int cur = i;
while(e[cur]){
marce[cur] = i;
de[ (cur-1+n)%n ] = de[cur]+1;
cur = (cur-1+n)%n;
}
marce[cur] = i;
}
}
return;
}
int compare_plants(int x, int y) {
if(marce[x] == marce[y]){
if(de[x] > de[y])return 1;
return -1;
}
if(marcd[x] == marcd[y]){
if(dd[x] > dd[y])return 1;
return -1;
}
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |