이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "plants.h"
#define pb push_back
using namespace std;
vector<int> h;
void init(int k, vector<int> r) {
int n = r.size();
h.resize(n);
vector<int> v[k];
for (int i = 0; i < n; ++i) {
v[r[i]].pb(i);
}
int cur_h = 1;
for (int i = k-1; i >= 0; --i) {
int x = v[i].size();
for (int j = 0; j < x; ++j) {
v[i].pb(v[i][j] + n);
}
int l = 0;
for (int j = 0; j < x; ++j) {
auto it = lower_bound(v[i].begin() , v[i].end(), v[i][j]+1);
if (*it > j + k - 1) l = j+1;
}
for (int j = l%x; j < l%x + x; ++j) {
h[v[i][j]%n] = cur_h++;
}
}
}
int compare_plants(int x, int y) {
if (h[x] > h[y]) return 1;
else 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... |