Cod sursa(job #1293302)

Utilizator MihneaGhiraMihnea MihneaGhira Data 15 decembrie 2014 18:52:20
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
using namespace std;

ifstream fin("elmaj.in");
ofstream fout("elmaj.out");

int n, m, i, j, k, ok, v[1000001];
int w[1000001], varf;

int main(){
	fin >> n;
	varf = 0;
	for(i = 1; i <= n; i ++){
		fin >> v[i];
		if(varf == 0){
			w[++varf] = v[i];
		}
		else
			if(v[i] == w[varf]){
				w[++varf] = v[i];
			}
			else{
				w[varf--] = 0;
			}
	}
	varf = 0;
	for(i = 1; i <= n; i ++){
		if(v[i] == w[1])
			varf ++;
	}
	if(varf > n / 2)
		fout << w[1] << " " << varf;
	else
		fout << -1;
	return 0;
}