Cod sursa(job #1174140)

Utilizator sorin2kSorin Nutu sorin2k Data 22 aprilie 2014 01:21:13
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
using namespace std;

int tab[1000000];

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