#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 false;
		else return true;
	}
	else{
		if(b.sc <= a.sc and a.sc <= b.sc+k) return true;
		return false;
	}
}
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... |