Cod sursa(job #984913)

Utilizator gbi250Gabriela Moldovan gbi250 Data 15 august 2013 18:52:41
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <cstdio>

using namespace std;

int i, n, k, cand=-1, v[1000001];

int main()
{
    freopen("elmaj.in", "r", stdin);
    freopen("elmaj.out", "w", stdout);
    scanf("%d", &n);
    for(i=1;i<=n;++i)
        scanf("%d", &v[i]);
    for(i=1;i<=n;++i)
        if(!k)
        {
            cand=v[i];
            k=1;
        }
        else if(v[i]==cand)
            ++k;
        else
            --k;
    if(cand<0)
        printf("-1\n");
    else
    {
        k=0;
        for(i=1;i<=n;++i)
            if(v[i]==cand)
                ++k;
        if(k<n/2)
            printf("-1\n");
        else
            printf("%d %d\n", cand, k);
    }
    return 0;
}