Cod sursa(job #1009967)

Utilizator timicsIoana Tamas timics Data 14 octombrie 2013 01:05:09
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<stdio.h>
#include<map>
using namespace std;

int N,x[1000100];

map<int,int> M;

int main()
{
    freopen("elmaj.in","r",stdin);
    freopen("elmaj.out","w",stdout);
    scanf("%d",&N);
    for(int i=1;i<=N;++i)
    {
        scanf("%d",&x[i]);
        if(M.find(x[i])==M.end())
        {
            M[x[i]]=1;
        }

        else
        {
            ++M[x[i]];
        }
    }

    for(int i=1;i<=N;++i)
    {
        if(M[x[i]]>N/2)
        {
            printf("%d\n",x[i]);
            return 0;
        }
    }

    printf("%d",-1);
    return 0;
}