Pagini recente » Cod sursa (job #682860) | Cod sursa (job #1186711) | Cod sursa (job #2741594) | Cod sursa (job #2649026) | Cod sursa (job #2786663)
#include <fstream>
#include <map>
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)
{
map<int, int> freq;
for (int i = 0; i < n; ++i)
{
if (!mapCointains(freq, a[i]))
{
freq[a[i]] = 0;
}
++freq[a[i]];
if (freq[a[i]] >= (n / 2) + 1)
{
return {a[i], freq[a[i]]};
}
}
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;
}