Cod sursa(job #757931)

Utilizator lucian666Vasilut Lucian lucian666 Data 13 iunie 2012 19:44:29
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb



using namespace std;
#include<fstream>
#include<algorithm>
#define NN 1000001
ofstream out("elmaj.out");


long long v[NN];
int n,poz;

int solve(long long *,int);
void read();

int main()
{
	read();
	solve(v,n);
	if(poz==0)
		out<<-1;
	else
	{
	out<<solve(v,n);
	out<<" "<<poz;
	}
	return 0;
}


void read()
{
	ifstream in("elmaj.in");
	in>>n;
	for(int i=0;i<n;i++)
		in>>v[i];
}


int solve(long long *v,int n)
{
	
	sort(v,v+n);
	int i=0;
	while(i < n)
	{
		int j=i;
		while(j < n && v[j+1]==v[i] )
			j++;
		if(j-i+1>n/2)
		{
			poz=j-1+1;
			return v[i];
			
		}
		i=j+1;
	}
	return -1;
}