Cod sursa(job #1050297)

Utilizator MinhChau257Bach Minh Chau MinhChau257 Data 8 decembrie 2013 14:35:25
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<cstdio>
using namespace std;
long long x[3000000];
int main()
{
    freopen("majoritar.in","r",stdin);
    freopen("majoritar.out","w",stdout);
    int v,c,n,i,ap=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&x[i]);
    }
    c=x[1];
    v=1;
    for(i=2;i<=n;i++)
    {
        if(c==x[i])
            v++;
        else
        if(c!=x[i])
        {
            v--;
            if(v==0)
            {
                c=x[i];
                v=1;
            }
        }
    }
    ap=0;
    for(i=1;i<=n;i++)
        if(x[i]==c)
            ap++;
    if(ap>=n/2+1)
        printf("%d %d",c,ap);
    else
        printf("-1\n");
    return 0;
}