Cod sursa(job #1951701)

Utilizator antanaAntonia Boca antana Data 3 aprilie 2017 19:11:17
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>

#define MAXN 1000001

using namespace std;

int v[MAXN];

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

    int n, i, element = 0, nr = 0;

    scanf("%d", &n);
    for(i=1; i<=n; ++i) {
        scanf("%d",&v[i]);
        if(element == v[i])
            nr++;
        else{
            if(nr == 0)
                element = v[i], nr = 1;
            else nr--;
        }
    }

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


    return 0;
}