Cod sursa(job #2921769)
Utilizator | Stefan 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;
}