Cod sursa(job #1974968)

Utilizator andreiutu111Noroc Andrei Mihail andreiutu111 Data 29 aprilie 2017 16:41:53
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;
int N,v[1000001],i,Max1;
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;
    for(i=1;i<N;++i)
        if(v[i]<v[i+1]){
           if(Max1>=N/2+1)
                    q=0,printf("%d %d \n ",v[i],Max1);
            Max1=1;
        }else if(v[i]==v[i+1]){
            Max1++;
        }
    if(Max1>=N/2+1)
            q=0,printf("%d %d \n ",v[N],Max1);
    if(q)
        printf("-1");
}