Cod sursa(job #775115)

Utilizator Mihai22eMihai Ionut Enache Mihai22e Data 7 august 2012 12:49:48
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<stdio.h>
#include<vector>

using namespace std;

vector < int > v;
int n, i, res, nr = 1, x;

int main()
{
	FILE *f = fopen("elmaj.in", "r");
	
	fscanf(f, "%d", &n);
	for(i = 0; i < n; ++i)
	{
		fscanf(f, "%d", &x);
		v.push_back(x);
		if(x == res)
			++nr;
		else
			--nr;
		if(nr == 0)
			res = x, nr = 1;
	}
	
	fclose(f);
	
	for(i = 0, nr = 0; i < n; ++i)
		if(v[i] == res)
			++nr;
		
	FILE *g = fopen("elmaj.out", "w");
	
	if(nr >= n / 2 + 1)
		fprintf(g, "%d %d\n", res, nr);
	else fprintf(g, "-1\n");	
	
	fclose(g);
	
	return 0;
}