Pagini recente » Cod sursa (job #2523735) | Cod sursa (job #1245338) | Cod sursa (job #106792) | Cod sursa (job #1997219) | Cod sursa (job #2786664)
#include <fstream>
#include <map>
#include <algorithm>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
bool mapCointains(map<int, int> m, int a)
{
return m.find(a) != m.end();
}
pair<int, int> getMostFrequent(int a[], int n)
{
sort(a, a + n);
int result = a[0];
int maxCount = 1;
int cnt = 1;
int last = a[0];
for (int i = 1; i < n; ++i)
{
if (last == a[i])
{
++cnt;
}
else
{
if (maxCount < cnt)
{
result = last;
maxCount = cnt;
}
cnt = 1;
last = a[i];
}
}
if (maxCount < cnt)
{
result = last;
maxCount = cnt;
}
if (maxCount >= n / 2 + 1)
{
return {result, maxCount};
}
return {-1, -1};
}
int n;
int main()
{
fin >> n;
int a[n];
for (int i = 0; i < n; ++i)
{
fin >> a[i];
}
pair<int, int> result = getMostFrequent(a, n);
if (result.first == -1)
{
fout << -1;
}
else
{
fout << result.first << " " << result.second;
}
return 0;
}