#include <bits/stdc++.h>
#include "plants.h"
using namespace std;
const int MAXN = 5e3 + 10;
int r[2 * MAXN];
int cmp[MAXN][MAXN];
void init(int k, vector<int> r_){
int n = (int) r_.size();
for(int i=0; i<n; i++) r[i] = r_[i];
for(int i=n; i<(2 * n); i++) r[i] = r[i - n];
vector<int> aux;
for(int i=0; i<n; i++){
if(r[i] == 0){
aux.push_back(i);
}
}
while(!aux.empty()){
assert((int) aux.size() == 1);
int i = aux.back();
aux.pop_back();
i += n;
int x = (i - (k - 1));
for(int j=0; j<n; j++){
if(r[j] > 0){
cmp[i][j] = 1;
cmp[j][i] = -1;
}
}
for(int j=(i - 1); j>=x; j--){
r[j % n] --;
if(r[j % n] == 0) aux.push_back(j % n);
}
}
}
int compare_plants(int x, int y){
return cmp[x][y];
}
| # | 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... |