Cod sursa(job #1567032)

Utilizator Andrei_CotorAndrei Cotor Andrei_Cotor Data 12 ianuarie 2016 21:17:16
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<stdio.h>
using namespace std;
FILE *fi,*fo;
int n,i,k;
int A[1000000];
int x;
int main()
{
	fi=fopen("elmaj.in","r");
	fo=fopen("elmaj.out","w");
	fscanf(fi,"%d%d",&n,&A[1]);
	x=A[1];
	k=1;
	for(i=2; i<=n; i++)
	{
		fscanf(fi,"%d",&A[i]);
		if(A[i]==x)
			k++;
		else
			k--;
		if(k==0)
		{
			x=A[i];
			k++;
		}
	}
	if(k==0)
	{
		fprintf(fo,"-1");
		fclose(fi);
		fclose(fo);
		return 0;
	}
	k=0;
	for(i=1; i<=n; i++)
		if(A[i]==x)
			k++;
	if(k>n/2)
		fprintf(fo,"%d %d",x,k);
	else
		fprintf(fo,"-1");
	fclose(fi);
	fclose(fo);
	return 0;
}