Submission #1291740

#TimeUsernameProblemLanguageResultExecution timeMemory
1291740julia_08Comparing Plants (IOI20_plants)C++20
5 / 100
44 ms5828 KiB
#include <bits/stdc++.h>
#include "plants.h"

using namespace std;

const int MAXN = 2e5 + 10;

int sum[MAXN], r[MAXN];

int n;

void init(int k, vector<int> r_){

	n = (int) r_.size();

	for(int i=0; i<n; i++) r[i + 1] = r_[i];

	for(int i=1; i<=n; i++) sum[i] = sum[i - 1] + r[i];

}

int compare_plants(int x, int y){

	x ++; y ++;

	int sign = 1;

	if(x > y){
		swap(x, y);
		sign = -1;
	}

	if(sum[y - 1] - sum[x - 1] == 0) return 1 * sign;

	if(sum[n] - (sum[y - 1] - sum[x - 1]) == 0) return -1 * sign;

	if(sum[y - 1] - sum[x - 1] == (y - x)) return -1 * sign;

	if(sum[n] - (sum[y - 1] - sum[x - 1]) == n - (y - x)) return 1 * sign;

	return 0;

}
#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...