Cod sursa(job #961562)

Utilizator Anca_PaneaPanea Anca Anca_Panea Data 12 iunie 2013 16:50:34
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
using namespace std;
#include<fstream>
#define NMax 1000005
ifstream eu("elmaj.in");
ofstream tu("elmaj.out");
int X[NMax],N,Sol,NrApSol;
void Read()
{
eu>>N;
for(int i=1;i<=N;i++)
	eu>>X[i];
}
void SolveAndPrint()
{
int cand,k=0,i;
for(i=1;i<=N;i++)
	{
		if(k==0)
			{
			cand=i;k=1;
			}
		else
			if(cand==X[i])
				k++;
			else
				k--;
	}
if(k==0)
	tu<<"-1\n";
else
	{
	NrApSol=0;Sol=cand;
	for(i=1;i<=N;i++)
		if(cand==X[i])NrApSol++;
	if(NrApSol>=(N/2+1))
		tu<<Sol<<" "<<NrApSol<<"\n";
	else
		tu<<"-1\n";
		
	}
}

int main()
{
Read();
SolveAndPrint();
return 0;
}