Cod sursa(job #2646329)

Utilizator akumariaPatrascanu Andra-Maria akumaria Data 31 august 2020 19:40:28
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>

using namespace std;

int main() {
	freopen("elmaj.in", "r", stdin);
	freopen("elmaj.out", "w", stdout);

	int n, candidate = 0, current_score = 0;

	scanf("%d", &n);
	int numbers[n];
	for(int i=0; i<n; ++i) {
		scanf("%d", &numbers[i]);
		if(numbers[i] != candidate) {
			--current_score;
			if(current_score <= 0) {
				current_score = 1;
				candidate = numbers[i];
			}
		} else
			++current_score;
	}

	current_score = 0;
	for(int i=0; i<n; ++i)
		if(candidate == numbers[i])
			++ current_score;

	if(current_score >= n/2 + 1)
		printf("%d %d\n", candidate, current_score);
	else
		printf("-1\n");

	return 0;
}