Cod sursa(job #2432602)

Utilizator ShayTeodor Matei Shay Data 24 iunie 2019 14:16:33
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <map>
#include <assert.h>

int main() {
	std::ifstream cin("elmaj.in");
	std::ofstream cout("elmaj.out");
	std::ios::sync_with_stdio(false);
	int n, k = 0, count = 0;
	cin >> n;
	assert(1 <= n && n <= 1000000);
	int v[n];
	
	for (int i = 0 ; i < n ; ++i) {
		cin >> v[i];
		
		if (count == 0) {
			k = v[i];
		}

		if (v[i] == k) {
			++count;
		} else {
			--count;
		}
	}

	if (count <= 0) {
		cout << "-1\n";
	} else {
		count = 0;
		for (int i = 0 ; i < n ; ++i) {
			if (v[i] == k) {
				++count;
			}
		}
	}

	cout << k << " " << count << '\n';

	return 0;
}