Cod sursa(job #1294825)

Utilizator fluture.godlikeGafton Mihnea Alexandru fluture.godlike Data 18 decembrie 2014 11:39:40
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>
FILE *fin, *fout;
int n, c = 1, *v, temp;
int main()
{
	fin = fopen("elmaj.in", "r");
	fout = fopen("elmaj.out", "w");
	fscanf(fin, "%d", &n);
	v = new int[n];
	for(int i = 0; i< n; i++) fscanf(fin, "%d", &v[i]);
	temp = v[0];
	for(int i = 1; i< n; i++)
	{
		if(v[i] == temp) c++;
		else c--;
		if(c == 0)
		{
			temp = v[i];
			c = 1;
		}
	}
	c = 0;
	for(int i = 0; i< n; i++) if(v[i] == temp) c++;
	if(c >= n/2+1) fprintf(fout, "%d %d\n", temp, c);
	else fprintf(fout, "-1\n");
	fclose(fin);
	fclose(fout);
	return 0;
}