Cod sursa(job #1284798)

Utilizator AlexTAlexandru AlexT Data 6 decembrie 2014 20:18:08
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <stdio.h>
#include<stdlib.h>

main()
{
int i,n,*a,k,ex;
FILE *f,*g;
f=fopen("elmaj.in","r");
g=fopen("elmaj.out","w");
fscanf(f,"%d",&n);
a=(int*)malloc(n*sizeof(int));
for(i=0;i<n;i++)
{
	fscanf(f,"%d",&a[i]);
}
ex=a[0];
k=0;
for(i=1;i<n;i++)
{
	if(k==0)
	{
		ex=a[i];
		k=0;
	}
	if(a[i]==ex)
	{
		k++;
	}
	else 
	{
		k--;
	}
}
k=0;
for(i=0;i<n;i++)
{
	if(a[i]==ex)
	{
		k++;
	}
}
if(k>=n/2+1)
{
fprintf(g,"%d %d  ",ex,k);
}
else 
{
	fprintf(g,"-1");
}
free(a);
}