Cod sursa(job #1460662)

Utilizator mouse_wirelessMouse Wireless mouse_wireless Data 13 iulie 2015 14:27:05
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#define NMAX 1000010

int v[NMAX];

int main() {
	freopen("elmaj.in", "r", stdin);
	freopen("elmaj.out", "w", stdout);
	int N;
	scanf("%d", &N);
	int cand = 0;
	int nap = 0;
	for (int i = 0; i < N; i++) {
		scanf("%d", &v[i]);
		if (!cand) {
			cand = v[i];
			nap = 1;
		}
		else if (v[i] == cand)
			nap++;
		else
			nap--;
		if (!nap) {
			cand = v[i];
			nap = 1;
		}
	}
	nap = 0;
	for (int i = 0; i < N; i++)
	if (v[i] == cand)
		nap++;
	if (nap > N / 2)
		printf("%d %d\n", cand, nap);
	else printf("-1\n");
	return 0;
}