Submission #386049

#TimeUsernameProblemLanguageResultExecution timeMemory
386049AdOjis485Comparing Plants (IOI20_plants)C++17
0 / 100
1 ms384 KiB
#include "plants.h"
#include <vector>
using namespace std;

vector<int> range;

void init(int k, vector<int> r) 
{
	int n = r.size();
	range.resize(n, -1);
	
	int i = 0;
	while(i < n && range[i] < 0)
	{
		int cur = i;
		while(i < n && r[i] > 0) i ++;
		if(i == n)
		{
			i = 0;
			while(r[i] > 0) i ++;
		}
		for(int j = cur; j != i; j = (j + 1) % n) range[j] = i;
		i ++;
	}
	return;
}

int compare_plants(int x, int y) 
{
	int fac = 1;
	if(x > y)
	{
		swap(x, y);
		fac = -1;
	}	
	int ans = 0;
	if(range[x] > y || range[x] < x) ans = -1;
	else if(range[y] > x) ans = 1;
	return fac * ans;
}
#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...