Cod sursa(job #1866146)

Utilizator EuAlexOtaku Hikikomori EuAlex Data 2 februarie 2017 18:11:05
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <cstdio>

using namespace std;

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

    int n, x, candidat, nr_apr;

    scanf("%d", &n);
    for(int i = 1; i <= n; ++ i) {
        scanf("%d", &x);
        if(i == 1) {
            candidat = x;
            nr_apr = 1;
        } else {
            if(x != candidat) {
                if(nr_apr == 1) {
                    candidat = x;
                } else {
                    -- nr_apr;
                }
            } else {
                ++ nr_apr;
            }
        }
    }

    freopen("elmaj.in", "r", stdin);

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

    if(nr_apr >= n / 2 + 1) {
        printf("%d %d", candidat, nr_apr);
    } else {
        printf("-1");
    }

    return 0;
}