Submission #800296

#TimeUsernameProblemLanguageResultExecution timeMemory
800296I_Love_EliskaM_Comparing Plants (IOI20_plants)C++14
14 / 100
4038 ms5380 KiB
#include "plants.h"
#include <bits/stdc++.h>
using namespace std;
#define forn(i,_n) for(int i=0;i<_n;++i)
#define all(x) x.begin(),x.end()
#define pb push_back
#define pi pair<int,int>
#define f first
#define s second
using ll = long long;

const int N=2e5+55;
int p[N];
int n;
int k;
void init(int _k, vector<int> r) {
	k=_k;
	n=r.size();
	if (2*k<=n) exit(0);
	//if (n>5000) exit(0);
	vector<int> pos(k,-1);

	forn(i,n) {

		int z=0;
		forn(j,n) if (r[j]==k-1) z=j;
		int d=0;
		int j=z;
		while (d<k) {
			if (r[j]==k-1) {
				d=0, z=j;
			}
			++d;
			j=(j-1+n)%n;
		}
		p[z]=i;
		d=0;
		j=z;
		while (d<k) {
			r[j]++;
			++d;
			j=(j-1+n)%n;
		}

	}

}

int compare_plants(int x, int y) {
	if (p[x]>p[y]) return 1;
	else 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...