int tmp;
cin >> tmp;
mp[tmp]++;
? На телевизионном шоу зрители голосуют за участников шоу, отправляя SMS-сообщение с номером участника. Определите победителя шоу на основе присланных SMS-сообщений.
Входные данные
Первая строка входных данных содержит количество присланных сообщений 1 ≤ N ≤ 104. Во второй строке содержится натуральных N чисел - список номеров, присланных телезрителями, через пробел. Все числа не превосходят 109.
Выходные данные
Программа должна вывести номер участника, набравшего наибольшее число голосов. Если таких несколько, то программа должна вывести номера всех победителей шоу в порядке возрастания.
#include <bits/stdc++.h>
using namespace std;
void solve()
{
vector<int> a(100001, 0);
int n;
cin >> n;
int mxind = 0;
int mxx = 0;
for(int i = 0; i < n; i++)
{
int tmp;
cin >> tmp;
if(tmp > mxx)
{
a.resize(tmp+1);
mxx = tmp;
}
if(tmp > mxind)
mxind = tmp;
a[tmp]++;
}
int mx = *max_element(a.begin(), a.end());
for(int i = 0; i < mxind+3; i++)
{
if(a[i] == mx)
cout << i << " ";
}
}
int main()
{
solve();
}