Cod sursa(job #1096233)

Utilizator StanAndreiAndrei Stan StanAndrei Data 1 februarie 2014 18:51:32
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.59 kb
#include <stdio.h>

#define NMAX 1000005

using namespace std;

int N,NR,SOL,AUX,A[NMAX];

void solve()
{
    scanf("%d\n",&N);
    for (int i=1;i<=N;i++)
    {
        scanf("%d ",&A[i]);
        if (!NR){NR++,AUX=A[i];}
        else if (AUX==A[i]) NR++;
        else NR--;
    }
    for (int i=1;i<=N;i++)
        if (A[i]==AUX) SOL++;

    if (SOL>=N/2+1) printf("%d %d",AUX,SOL);
    else printf("-1\n");
}

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

    solve();

    fclose(stdin);
    fclose(stdout);
    return 0;
}