Cod sursa(job #1197063)

Utilizator dalv_1337Pasita Vlad dalv_1337 Data 10 iunie 2014 17:41:08
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <cstdio>
using namespace std;

const int nMax = 1000001;

int v[nMax];

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

    int n, i=1, elem, fq=0;
    for (scanf("%d",&n); i<=n; ++i) {
        scanf("%d",&v[i]);
        if (!fq) elem=v[i], fq=1;
        else v[i]==elem ? ++fq : --fq;
    }

    if (!fq) { printf("-1"); return 0; }

    for (fq=0,i=1; i<=n; ++i)
        if (v[i]==elem) ++fq;

    fq>=n/2+1 ? printf("%d %d",elem,fq) : printf("-1");

    return 0;
}