Cod sursa(job #1628853)

Utilizator VAIonescuIonescu Vlad-Andrei VAIonescu Data 4 martie 2016 11:05:25
Problema Elementul majoritar Scor 20
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){
			c++;
		}
		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;
}