Cod sursa(job #1628862)

Utilizator VAIonescuIonescu Vlad-Andrei VAIonescu Data 4 martie 2016 11:07:59
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 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--;
		}
		else if (v[i]==c){
			vt++;
		}
		if (vt==0){
			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;
}