Cod sursa(job #1506553)

Utilizator PikachuPikachu Pikachu Data 20 octombrie 2015 19:44:23
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <cstdio>

using namespace std;

int main() {
    freopen("elmaj.in", "r", stdin);
    freopen("elmaj.out", "w", stdout);
    int n, x, nr_apar = 0, prep;
    scanf("%d", &n);

    for(int i = 1; i <= n; ++ i) {
        scanf("%d", &x);
        if(i == 1) {
            prep = x;
            nr_apar = 1;
        }
        if(prep == x)
        ++ nr_apar;
        else
            --nr_apar;
        if(nr_apar == 0) {
            prep = x;
            nr_apar = 1;
        }
    }
freopen("elmaj.in", "r", stdin);
    scanf("%d", &n);
    nr_apar = 0;

    for(int i = 1; i <= n; ++ i) {
        scanf("%d", &x);
        if(prep == x) {
            ++ nr_apar;
        }
    }

    if(nr_apar >= n / 2 + 1)
        printf("%d %d", prep,nr_apar);
    else
        printf("-1");

    return 0;
}