Cod sursa(job #1628847)

Utilizator VAIonescuIonescu Vlad-Andrei VAIonescu Data 4 martie 2016 11:04:02
Problema Elementul majoritar Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <cstdio>

using namespace std;
const int nmax=1000000;
int v[nmax+1];
int main()
{
	freopen("elmaj.in","r",stdin);
	freopen("elmaj.out","w",stdout);
	int n,c=-1,vt=1;
	scanf("%d",&n);
	for (int i=1;i<=n;i++){
		scanf("%d",&v[i]);
		if (v[i]!=c){
			vt--;
		}
		if (!vt){
			c=v[i];
			vt=1;
		}
	}
	int f=0;
	for (int i=1;i<=n;i++){
		if (v[i]==c){
		++f;
		}
	}
	if (f>=(n>>1)+1){
		printf("%d %d",c,f);
	}
	else{
		printf("-1");
	}
    return 0;
}