Cod sursa(job #644415)

Utilizator auRSTARHreapca Aurelian auRSTAR Data 6 decembrie 2011 15:43:43
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<cstdio>
#include<fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n,i,A[1000010],cnt,C;
int main()
{
	
	f>>n>>A[1];C=A[1],cnt=1;
	for(i=2;i<=n;i++)
	{
		f>>A[i];
		if(A[i]==C)cnt++; else cnt--;
		if(cnt<0)C=A[i],cnt=1;
	}
	if(!cnt){g<<"-1";return 0;}
	cnt=0;
	for(i=1;i<=n;i++)
		if(A[i]==C)cnt++;
	if(cnt>=(n/2)+1)g<<C<<" "<<cnt; else g<<"-1";
	return 0;
}