#include "plants.h"
#include <bits/stdc++.h>
using namespace std;
#define len(v) (int) (v.size())
int n, k;
vector<int> r;
vector<int> val;
void init(int K, vector<int> R) {
r = R;
k = K;
n = len(r);
val.resize(n);
for (int cur = n - 1; cur >= 0; cur--) {
vector<int> idx;
for (int i = 0; i < n; i++) {
if (r[i] == 0) idx.push_back(i);
}
int mx = 0;
for (int i = 0; i < len(idx); i++) {
int dist;
if (i == 0) {
dist = idx[i] + n - idx.back();
}
else {
dist = idx[i] - idx[i - 1];
}
if (dist >= k) {
mx = idx[i];
break;
}
}
val[mx] = cur;
r[mx] = 2 * n;
for (int i = (mx - 1 + n) % n, cnt = 0; cnt < k - 1; i = (i - 1 + n) % n, cnt++) {
r[i]--;
}
}
// for (int i = 0; i < n; i++) {
// cout << val[i] << ' ';
// }
// cout << '\n';
}
int compare_plants(int x, int y) {
if (val[x] < val[y]) return -1;
return 1;
}
# | 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... |