#include<bits/stdc++.h>
#include "plants.h"
#define fr first
#define sc second
using namespace std;
const int N = 200010;
int k;
int val[N];
bool comp(pair <int, int> a,pair <int, int> b){
if(a.fr > b.fr) return true;
if(a.fr < b.fr) return false;
if(a.sc < b.sc){
if(a.sc <= b.sc and b.sc <= a.sc+k) return true;
else return false;
}
else{
if(b.sc <= a.sc and a.sc <= b.sc+k) return false;
return true;
}
}
void init(int K, std::vector<int> r) {
int k = K;
for(auto &p : r){
p = k-p;
}
vector <pair <int, int>> res;
for(int i = 0;i < r.size();i++){
res.push_back({r[i], i});
}
sort(res.begin(), res.end(), comp);
for(int i = 0;i < res.size();i++){
val[res[i].second] = res.size()-i;
}
return;
}
int compare_plants(int x, int y) {
if(val[x] < val[y]) return -1;
else 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... |