Cod sursa(job #1122502)

Utilizator heracleRadu Muntean heracle Data 25 februarie 2014 18:34:01
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <cstdio>
const int Q=1000000;
int v[Q+1];

int main()
{
    freopen("elmaj.in","r",stdin);
    freopen("elmaj.out","w",stdout);

    int n;
    scanf("%d",&n);

    int x=-1, nr=0;

    for(int i=1; i<=n; i++)
    {
        scanf("%d",&v[i]);
        if(v[i]==x)
            nr++;
        else if(nr>0)
            nr--;
        else
        {
            nr=1;
            x=v[i];
        }
    }
    int rez=0;
    for(int i=1; i<=n; i++)
        if(v[i]==x)
        rez++;
    if(rez>n/2)
        printf("%d %d",x,rez);
    else
        printf("-1");

    return 0;
}