Cod sursa(job #2921769)

Utilizator alt_contStefan alt_cont Data 1 septembrie 2022 19:30:20
Problema Elementul majoritar Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <iostream>
#include <unordered_map>
#include <algorithm>
using namespace std;
 
 
int main(){
	ifstream fin;
	ofstream fout;
	fin.open("elmaj.in");
	fout.open("elmaj.out"); 
	int n, x;
 	fin >> n;
 	int answer = -1;
 	unordered_map<int, int> data;

	for(int i = 1; i <= n; ++i){
		if(answer == -1){
			fin >> x;
			data[x]++;
			if(data[x] >= n/2 + 1){
				answer = x;
			}
		}
		else{
			fin >> x;
			if(x == answer)
				data[x]++;
		}
	}

	if(answer != -1)
		fout << x << " " << data[x];
	else
		fout << -1;
}