Cod sursa(job #1786862)

Utilizator andrey2397Barbu Andrei Octavian andrey2397 Data 23 octombrie 2016 19:45:11
Problema Elementul majoritar Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <map>

using namespace std;

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

map<int, int> m;


int main()
{
    int i, x, ap, n, maj, ok=0;
    fin>>n;
    maj=n/2+1;
    for(i=1;i<=n;i++){
        fin>>x;
        if(m.find(x)->first == 0){
            m.insert(pair<int, int>(x, 1));
        }else{
            ap = m.find(x)->second;
            m.erase(x);
            m.insert(pair<int, int>(x, ap+1));
        }
    }

    for(i=0;i<m.size();i++){
        if(m[i]>=maj){
            fout<<i<<" "<<m[i];
            ok=1;
            break;
        }
    }
    if(ok==0) fout<<"-1";
    return 0;
}