Cod sursa(job #2537225)

Utilizator radustn92Radu Stancu radustn92 Data 3 februarie 2020 12:53:02
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>
#include <iostream>
using namespace std;

const int NMAX = 1000505;
int N, A[NMAX];

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

	ios_base::sync_with_stdio(false);
	// cin.tie(NULL);

	int N, majElem, majElemCount = 0;
	cin >> N;
	for (int i = 1; i <= N; i++) {
		cin >> A[i];
		if (majElemCount == 0 || majElem == A[i]) {
			majElem = A[i];
			majElemCount++;
		} else {
			majElemCount--;
		}
	}
	
	int actualCount = 0;
	for (int i = 1; i <= N; i++) {
		if (A[i] == majElem) {
			actualCount++;
		}
	}

	if (actualCount <= N / 2) {
		printf("-1\n");
	} else {
		printf("%d %d\n", majElem, actualCount);
	}
	return 0;
}