Cod sursa(job #1083478)

Utilizator lilian_ciobanuLilian Ciobanu lilian_ciobanu Data 15 ianuarie 2014 23:57:45
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<iostream>
#include<fstream>
#include<algorithm>
#include<string>
#include<vector>
#include<map>

using namespace std;

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

int main(){
    int n,i,x;
    map<int , int> a;
    map<int ,int>::iterator it;

    f>>n;
    for(i=1; i<=n; ++i){
        f>>x;
        if(a.find(x)->first>0)
            a.insert(pair<int ,int>(x,0));
        a[x]++;
    }

    int m=n/2 + 1,r=-1;

    for(it=a.begin(); it!=a.end(); ++it){
        if(it->second >= m) {
            r=it->first;
            x=it->second;
            break;
        }
    }

    if(r!=-1)
        g<<r<<" "<<x;
    else
        g<<r;


return 0;
}