Pagini recente » Cod sursa (job #2774903) | Clasamentul arhivei de probleme | Cod sursa (job #511478) | Cod sursa (job #1129704) | Cod sursa (job #2786662)
#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();
}
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];
}
}
return -1;
}
int n;
int main()
{
fin >> n;
int a[n];
for (int i = 0; i < n; ++i)
{
fin >> a[i];
}
fout << getMostFrequent(a, n);
return 0;
}