Cod sursa(job #1799063)

Utilizator GeorgeCalinPetruta George-Calin GeorgeCalin Data 5 noiembrie 2016 18:39:41
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <algorithm>
using namespace std;

int v[1000002];

int main()
{
    int a,con,pp,q,n,el;
    pp=0;
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i];
    }
    sort(v+1,v+n+1);
    q=1;
    while(q<n)
    {
        if(v[q]==v[q+1])
        {
            a=v[q];
            con=1;
            while(v[q]==v[q+1])
            {
                q++;
                con++;
            }
        }
        if(con>=(n/2)+1)
        {
            el=a;
            pp=con;
            break;
        }
        q++;
    }
    if(pp!=0)
    {
        fout<<el<<" "<<pp;
    }
    else
    {
        fout<<"-1";
    }
    return 0;
}