Cod sursa(job #1546390)

Utilizator tamionvTamio Vesa Nakajima tamionv Data 7 decembrie 2015 23:35:13
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;

int main(){
	ifstream f("elmaj.in");
	ofstream g("elmaj.out");
	int n;
	f >> n;
	vector<int> v(n);
	for(auto& x : v){
		 f >> x; }

	int cur = 0, nr = 0;
	for(int i = 0; i < n; ++i){
		if(cur == v[i]){
			++nr; }
		else if(nr != 0){
			--nr; }
		else{
			cur = v[i], nr = 1; } }

	int cnt = count(begin(v), end(v), cur);
	if(cnt >= n/2+1){
		g << cur << ' ' << cnt; }
	else{
		g << -1; }
	return 0; }