Cod sursa(job #1974971)

Utilizator andreiutu111Noroc Andrei Mihail andreiutu111 Data 29 aprilie 2017 16:44:23
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;
int N,v[1000001],i,Max1,x;
short q=1;
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);

    Max1=1,x=v[1];
    for(i=2;i<=N;++i)
        if(x!=v[i]){
           if(Max1>=N/2+1)
                    q=0,printf("%d %d \n ",x,Max1);
            Max1=1,x=v[i];
        }else if(x==v[i])Max1++;
    if(Max1>=N/2+1)
            q=0,printf("%d %d \n ",v[N],Max1);
    if(q)
        printf("-1");
}