Cod sursa(job #721447)

Utilizator algotrollNume Fals algotroll Data 23 martie 2012 18:29:02
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<fstream>
#include<map>
using namespace std;
typedef map<int,int>::iterator mit;
int main()
{
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");
    int nA; fin>>nA;
    map<int,int> A;
    for (int i=1;i<=nA;i++)
    {
        int tmp; fin>>tmp;
        mit p=A.find(tmp);
        if (p==A.end()) A.insert(pair<int,int>(tmp,1));
        else p->second++;
    }
    mit maj=A.end();
    for (mit it=A.begin();it!=A.end();++it)
        if (it->second>nA/2) {maj=it;break;}
    if (maj==A.end()) fout<<"-1";
    else fout<<maj->first<<' '<<maj->second;
    return 0;
}