Pagini recente » Cod sursa (job #746419) | Cod sursa (job #1311054) | Cod sursa (job #2373164) | Cod sursa (job #1607012) | Cod sursa (job #1439677)
#include <fstream>
#include <map>
#include <tuple>
std::tuple<int, int> countUsingMap(int size, int* v)
{
std::map<int, int> table;
for(int i = 0; i < size; ++i)
{
if(table.find(v[i]) == table.end())
{
table.insert({v[i], 1});
}
else
{
table[v[i]]++;
}
}
for(int i = 0; i < size; ++i)
{
if(table[v[i]] > size / 2)
{
auto result = std::make_tuple(v[i], table[v[i]]);
return result;
}
}
auto result = std::make_tuple(-1, -1);
return result;
}
int main()
{
std::ifstream fin("elmaj.in");
std::ofstream fout("elmaj.out");
int size;
fin >> size;
int* vector = new int[size];
for(int i = 0; i < size; ++i)
{
fin >> vector[i];
}
auto result = countUsingMap(size, vector);
fout << std::get<0>(result);
fout << " ";
if(std::get<0>(result) != -1)
fout << std::get<1>(result);
return 0;
}