Cod sursa(job #2248148)

Utilizator TudorCristeaCristea Tudor TudorCristea Data 29 septembrie 2018 11:39:13
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");
    int i,n,semafor=0;
    fin >> n;
    long long v[n+1],m=-1,m2=-1,poz;
    for (i=1;i<=n;++i)
    {
        fin >> v[i];
        if (v[i]>m)
        {
            m=v[i];
        }
    }
    long long ap[m+1]={0};
    for (i=1;i<=n;++i)
    {
        ++ap[v[i]];
    }
    for (i=1;i<=m;++i)
    {
        if (ap[i]>m2)
        {
            m2=ap[i];
            poz=i;
            semafor=1;
        }
        else if (ap[i]==m2)
        {
            semafor=0;
        }
    }
    if (semafor)
    {
        fout << poz << " " << m2;
    }
    else
    {
        m2=-1;
        fout << m2;
    }
    return 0;
}