# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
817379 | jlallas384 | Comparing Plants (IOI20_plants) | C++17 | 4070 ms | 8628 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "plants.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> ans;
void init(int k, std::vector<int> r) {
int n = r.size();
ans.resize(n);
for(int val = n - 1; val >= 0; val--){
vector<int> a;
for(int i = 0; i < n; i++){
if(r[i] == 0){
a.push_back(i);
}
}
int bst = -1;
for(int i = 0; i < a.size(); i++){
int prv = (i - 1 + a.size()) % a.size();
int d = (i == 0 ? a[i] + n - a[prv] : a[i] - a[prv]);
if(d >= k){
assert(bst == -1);
bst = a[i];
}
}
ans[bst] = val;
r[bst] = 1e9;
for(int i = 1; i < k; i++){
int id = (bst - i + n) % n;
r[id] = max(r[id] - 1, 0);
}
}
}
int compare_plants(int x, int y) {
if(ans[x] > ans[y]) return 1;
else return -1;
}
Compilation message (stderr)
# | 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... |