Pagini recente » Cod sursa (job #1832654) | Cod sursa (job #3331081) | Cod sursa (job #3350785) | Cod sursa (job #2260625) | Cod sursa (job #3349521)
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>
#include <random>
#include <ctime>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n;
vector<int> el;
unordered_map<int, int> fr;
bool ismajoritar(int x)
{
return fr[x] > n / 2;
}
int main()
{
ios_base::sync_with_stdio(false);
fin.tie(NULL);
fin >> n;
for (int i = 0; i < n; i++)
{
int x;
fin >> x;
el.push_back(x);
fr[x]++;
}
mt19937 generator(time(0));
uniform_int_distribution<int> distributie(0, n - 1);
for (int i = 1; i <= 40; i++)
{
int index_aleator = distributie(generator);
int x = el[index_aleator];
if (ismajoritar(x))
{
fout << x << " " << fr[x];
fout.close();
return 0;
}
}
fout << "-1\n";
fout.close();
return 0;
}