이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "plants.h"
#include "bits/stdc++.h"
using namespace std;
const int inf = 1e9;
vector<int> a;
int n;
void init(int k, vector<int> r) {
n = r.size();
a.resize(n);
for(int i=n;i>0;i--){
//~ for(int i=0;i<n;i++) cout<<r[i]<<" ";
//~ cout<<"\n";
int cnt = 0;
for(int i=0;i<k - 1;i++) cnt += (r[i] == 0);
int p = -1;
for(int i=k - 1;;){
if(!cnt && r[i] == 0){
p = i;
break;
}
cnt -= (r[(i + n - k + 1) % n] == 0);
i = (i + 1) % n;
if(i == k - 1) break;
}
assert(~p);
//~ assert(a[p] == 0);
//~ cout<<i<<endl;
r[p] = inf;
a[p] = i;
for(int i=0;i<n;i++){
if((i <= p && p < i + k) || (i <= p + n && p + n < i + k)){
r[i]--;
}
}
}
//~ for(int i=0;i<n;i++) cout<<a[i]<<" ";
//~ cout<<"\n";
return;
}
int compare_plants(int x, int y) {
if(a[x] > a[y]) return 1;
if(a[x] < a[y]) return -1;
return 0;
}
# | 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... |