Cod sursa(job #1974977)

Utilizator andreiutu111Noroc Andrei Mihail andreiutu111 Data 29 aprilie 2017 16:58:35
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;
int N,v[1000001],i,Max1,x,k,x1;
int main()
{
    freopen("elmaj.in","r",stdin);
    freopen("elmaj.out","w",stdout);
    scanf("%d",&N);

    for(int i=1;i<=N;++i)
        scanf("%d",&v[i]);

    sort(v+1,v+N+1);

    x1=v[1],Max1=1,k=1;
    for(i=2;i<=N;++i)
        if(x1!=v[i]){
            if(k>Max1)
                Max1=k,x=x1;
            k=1,x1=v[i];
        }else if(x1==v[i])k++;

    if(Max1<k)
        Max1=k,x=v[N];


    if(Max1>=N/2+1)printf("%d %d",x,Max1);
    else printf("-1");
}