Cod sursa(job #650503)

Utilizator Alexandru13Dumitraiche Marius-Alexandru Alexandru13 Data 18 decembrie 2011 12:48:45
Problema Elementul majoritar Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#define mod 666013
#include<stdio.h>
#include<vector>
using namespace std;
vector <int> h[mod];
vector <int> nr[mod];
int adaug(int x)
{
	int rest=x%mod,ok=0,j;
	for(int i=0;i<h[rest].size();++i)
		if(x==h[rest][i])
			return ++nr[rest][i];
	h[rest].push_back(x);
	nr[rest].push_back(1);
	return 1;
}
int main()
{
	freopen("elmaj.in","r",stdin);
	freopen("elmaj.out","w",stdout);
	int n,a,gasit=-1,aparitii;
	scanf("%d", &n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d", &a);
		aparitii=adaug(a);
		if(aparitii>n/2) gasit=a;
	}
	if(gasit!=-1)
		printf("%d %d",gasit,aparitii);
	else
		printf("-1");
	return 0;
}