Cod sursa(job #1078043)

Utilizator andreivFMI - vacaroiu andrei andreiv Data 11 ianuarie 2014 22:55:31
Problema Elementul majoritar Scor 30
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.48 kb
#include <cstdio>
int v[1000009];

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