Cod sursa(job #634147)

Utilizator titusuTitus C titusu Data 15 noiembrie 2011 18:47:52
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
using namespace std;

int v[1000005],n;

int main(){
	ifstream fin("elmaj.in");
	fin >> n;
	for(int i=1;i<=n;++i)
		fin >> v[i];
	fin.close();
	int elmaj=v[1],nrap=1;
	
	for(int i=2;i<=n;++i)
		if(v[i]==elmaj)
			nrap ++;
		else{
			nrap --;
			if(nrap == 0)
				elmaj = v[i], nrap = 1;
		}
	int count = 0;
	for(int i=1;i<=n;++i)
		if(v[i]==elmaj)
			count++;
	ofstream fout("elmaj.out");
	if(count > n/2)
		fout << elmaj << " " << count << "\n";
	else
		fout << "-1\n";
	return 0;
}