Cod sursa(job #1594499)

Utilizator trutruvasilicaHuhurez Marius trutruvasilica Data 9 februarie 2016 15:34:53
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
vector<pair<int,int> >H[7013];
const int mod=7013;
vector<pair<int,int> >::iterator it;
int main()
{
    int n,i,sol=-1,tot,step,a,zum;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>a;
        zum=a%mod;
        step=0;
        for(it=H[zum].begin();it!=H[zum].end();it++)
        {
            if(it->first==a) {it->second++;step=it->second;break;}
        }
        if(step==0) H[zum].push_back(make_pair(a,1));
        if(step>=n/2+1) sol=a,tot=step;
    }
    if(sol==-1) fout<<sol;
    else fout<<sol<<" "<<tot;
}