Pagini recente » Monitorul de evaluare | Cod sursa (job #3359933)
#include <bits/stdc++.h>
using namespace std;
//9 3 1 3 2 3 4 3 3
//Un numar x se numeste element majoritar daca numarul sau de aparitii
//este >= [lungimea_sirului / 2] + 1
//Lungimea sirului este 9
//Frecventa lui 3 este 5
//Deci 3 este element majoritar
// 3 1 3 1 1 2 1 -> 1 este element majoritar
// 3 1 1 4 5 6
//Solutie cu vector de frecventa
int a[1000001];
int fr[1000001];
int main() {
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
int n;
cin >> n;
for(int i = 1; i <= n; i++) {
cin >> a[i];
fr[a[i]]++;
}
int el_maj = 0, fr_maj = 0;
for(int i = 1; i <= n; i++) {
if(fr[a[i]] >= n / 2 + 1) {
el_maj = a[i];
fr_maj = fr[a[i]];
}
}
cout << el_maj << ' ' << fr_maj;
}