Submission #1201914

#TimeUsernameProblemLanguageResultExecution timeMemory
1201914TriseedotComparing Plants (IOI20_plants)C++20
14 / 100
4094 ms6688 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...