Cod sursa(job #909543)

Utilizator vladteodor97Cirstina Vlad vladteodor97 Data 10 martie 2013 16:03:40
Problema Elementul majoritar Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<stdio.h>
#include<algorithm>
#include<stdlib.h>
using namespace std;
FILE * f = fopen("elmaj.in","r");
FILE * g = fopen("elmaj.out","w");
long v[100000],i,n,c[100000],j,m,nr;
int main()
{
	fscanf(f,"%ld",&n);
	for(i=1;i<=n;i++)
	{
		fscanf(f,"%ld",&v[i]);
	}
	sort(v+1,n+v+1);
	n=n+1;
	v[n]=-8392;
	
	j=1;
	for(i=1;i<n;i++)
	{
		if(v[i]==v[i+1])
		{
			c[i]=j;
			j++;
		}
		else
		{
			c[i]=j;
			j=1;
		}
	}
	m=0;
	for(i=1;i<=n;i++)
	{
		if(c[i]>m)
		{	
			m=c[i];
			nr=v[i];
		}
	}
	n=n-1;
	if(m>=(n/2)+1)
	{
		fprintf(g,"%ld %ld",nr,m);
	}
	else
	{
		fprintf(g,"-1");
	}
	fclose(f);
	fclose(g);
	return 0;
}