Cod sursa(job #634344)

Utilizator maritimCristian Lambru maritim Data 15 noiembrie 2011 23:11:41
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>
#include<fstream>
using namespace std;

ifstream f("elmaj.in");
ofstream g("elmaj.out");

#define MaxN 1000100

int N,MAJ,COUNT = 1,A[MaxN];

int main()
{
	f >> N;
	for(int i=1;i<=N;i++)
		f >> A[i];
	MAJ = A[1];
	for(int i=2;i<=N;i++)
		if(A[i] != MAJ)
		{
			COUNT --;
			if(COUNT == 0)
			{
				MAJ = A[i];
				COUNT = 1;
			}
		}
		else
			COUNT ++;
	COUNT = 0;
	for(int i=1;i<=N;i++)
		if(A[i] == MAJ)
			COUNT ++;
	if(COUNT >= N/2+1)
		g << MAJ << " " << COUNT;
	else
		g << "-1";
	return 0;
}