Odpowiedź:
#include <iostream>
#include <algorithm>
#include <map>
int main() {
int n, a;
std::cin >> n;
std::map<int, int> occurMap;
for (int i = 0; i < n; i++) {
std::cin >> a;
occurMap[a]++;
}
int maxOccur = std::max_element(occurMap.begin(), occurMap.end(),
[](const std::pair<int, int> &a, const std::pair<int, int> &b) {
return a > b;
})->second;
int maxNumberMaxOccur = -1;
for (const auto &[number, occur]: occurMap) {
if (occur == maxOccur) {
maxNumberMaxOccur = std::max(number, maxNumberMaxOccur);
}
}
std::cout << maxNumberMaxOccur;
return 0;
}
Wyjaśnienie:
Użyłem structured bindings więc musisz mieć C++17 już nowszy aby program się skompilował