Cod sursa(job #1353177)

Utilizator Seb16Ungureanu Paul Sebastian Seb16 Data 21 februarie 2015 13:48:27
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,j, v[1000000], elem, nre, nre2, ok;
int count(int i)
{
    int nr=1;
    for(j=i;j<=n;j++)
    {
        if(v[j]==v[j+1])
        {
            nr++;
        }
        else break;
    }
    return nr;
}
int main()
{
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i];
    }
    sort(v+1, v+n+1);
    ok=0;
    nre=count(1);
    elem=v[1];
    while(j<=n)
    {
        nre2=count(j+1);
        if(nre<nre2)
        {
            nre=nre2;
            elem=v[j];
            ok=0;
        }
        else if(nre==nre2)
        {
            ok=1;
        }
    }
    if(ok==1)
        fout<<"-1";
    else
        fout<<elem<<' '<<nre;
    fin.close();
    fout.close();
    return 0;
}