Cod sursa(job #2132792)

Utilizator MihaelaCismaruMihaela Cismaru MihaelaCismaru Data 16 februarie 2018 00:58:25
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std;
ifstream in ("elmaj.in");
ofstream out ("elmaj.out");
int alfa,sol,s,n,v[1000005],stiva[1000005];
int main (void) {
    in >> n;
    for (int i = 1; i <= n; i ++) {
        in >> v[i];
        if (s > 0 && stiva[s] != v[i]) {
            s --;
        }
        else {
            s++;
            stiva[s] = v[i];
        }
    }
    if (s == 0) {
        out << -1;
        return 0;
    }
    alfa = stiva[1];
    for (int i = 1; i <= n; i ++) {
        if (v[i] == alfa) {
            sol ++;
        }
    }
    if (sol >= n/2 + 1) {
        out << alfa <<" "<< sol;
    }
    else {
        out << -1;
    }
    return 0;
}