Pagini recente » Cod sursa (job #437225) | Cod sursa (job #2547521) | Cod sursa (job #2479926) | Cod sursa (job #1311635) | Cod sursa (job #2461232)
#include <fstream>
#include <map>
#include <iterator>
#include <cstdlib>
using namespace std;
ifstream fin("elmaj.in");
ofstream gout("elmaj.out");
FILE* f;
int main()
{
int N, val, maj = -1, nrAp = 0;
map<int, int> intMap;
f = fopen("elmaj.in", "r");
// fin >> N;
fscanf(f, "%d", &N);
for (int i = 0; i < N; i++)
{
// fin >> val;
fscanf(f, "%d", &val);
if (intMap.count(val))
{
auto itr = intMap.find(val);
itr->second++;
}
else
intMap.insert(pair<int, int>(val, 1));
}
for (auto itr = intMap.begin(); itr != intMap.end(); itr++)
{
//gout << itr->first << " " << itr->second << '\n';
if (itr->second >= (N / 2) + 1)
{
nrAp = itr->second;
maj = itr->first;
}
}
if (maj != -1)
gout << maj << " " << nrAp;
else
gout << -1;
return 0;
}