Cod sursa(job #1649970)

Utilizator adu18sptAndrei Mircea adu18spt Data 11 martie 2016 16:00:41
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
unsigned long long n,v[1000001],i,x,k,y;
int main()
{
	fin>>n;
	fin>>v[1];
	x=v[1];
	k=1;
	for(i=2;i<=n;i++)
	{
		fin>>v[i];
		if(v[i]!=x)
		{
			k--;
			if(k==0)
			{
				x=v[i];
				k=1;
			}
		}
		else
		{
			k++;
		}
	}
	for(i=1;i<=n;i++)
	{
		if(v[i]==x)
			y++;
	}
	if(y>=n/2+1)
	{
		fout<<x<<" "<<y;
	}
	else
	{
		fout<<-1;
	}
	return 0;
	
}