Cod sursa(job #680828)

Utilizator misinoonisim necula misino Data 15 februarie 2012 23:08:53
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<cstdio>
using namespace std;
FILE *f,*g;
long n,i,x,k,nr,a[1000000];
int main()
{f=fopen("elmaj.in","r");
g=fopen("elmaj.out","w");
fscanf(f,"%ld",&n);
k=0;
x=-1;
for(i=1;i<=n;i++)
{fscanf(f,"%ld",&a[i]);
if(k==0)
{x=a[i];
k=1;
}
else
	if(a[i]==x)
		k++;
	else
		k--;
}
if(x<0)
	fprintf(g,"-1");
else
{nr=0;
for(i=1;i<=n;i++)
	if(a[i]==x)
		nr++;
if(nr>=n/2+1)
	fprintf(g,"%d %d\n",x,nr);
else
	fprintf(g,"-1");
}
fclose(f);
fclose(g);
return 0;
}