Cod sursa(job #1523022)

Utilizator metrix007Lungu Ioan Adrian metrix007 Data 12 noiembrie 2015 12:52:25
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>
#include <unordered_map>
#define NMAX 1000005
using namespace std;

int x,n,Max,el;

ifstream in("elmaj.in");
ofstream out("elmaj.out");

unordered_map<int,int> has;

int main()
{
    in >> n;
    for(int i=0;i<n;i++)
        {
           in >> x;
           if(has.find(x)==has.end())
           {
               has.insert(make_pair(x,1));
           }
           else
           {
               has[x]++;
           }
        }
for(unordered_map<int,int>::iterator it=has.begin();it!=has.end();it++)
    {
        if((*it).second>Max)
        {
            el = (*it).first;
            Max= (*it).second;
        }
    }

    if(Max>n/2)
    {
        out << el << " " << Max;
    }
        else
        {
            out << -1;
        }
    return 0;
}