Cod sursa(job #649863)

Utilizator FIIAilincaiPascBogdan Valentin FIIAilincaiPasc Data 16 decembrie 2011 20:50:25
Problema Elementul majoritar Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.45 kb
#include <stdio.h>
int v[20000000],n,i,j,p;
int main()
{
FILE *fin,*fout;
fin=fopen("elmaj.in","r");
fout=fopen("elmaj.out","w");
fscanf(fin,"%d",&n); 
for(i=0;i<n;i++) fscanf(fin,"%d",&v[i]);
j=v[0]; p=1;
for(i=1;i<n;i++)
	{
	if(j==v[i]) p++;
	else p--;
	if(p==0)
		{
		j=v[i];
		p=1;
		}		
	}
p=0;
for(i=0;i<n;i++) if(j==v[i]) p++;
if(p>n/2) fprintf(fout,"%d %d",j,p);
else fprintf(fout,"-1");
fclose(fin);fclose(fout);
return 0;
}