Cod sursa(job #1080639)

Utilizator cosmo0093Raduta Cosmin cosmo0093 Data 12 ianuarie 2014 18:42:43
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

int main() {
    std::ifstream in("elmaj.in");
    std::ofstream out("elmaj.out");
    int nV;
    in >> nV;
    int *Arr = new int[nV];
    for(int i = 0; i < nV; i++) {
        in >> Arr[i];
    }
    int ap = 1, nM = Arr[0];
    for(int i = 1; i < nV; i++) {
        if(ap == 0) {
            nM = Arr[i];
            ap = 1;
        } else if(Arr[i] == nM) {
            ap++;
        } else {
            ap--;
        }
    }
    ap = 0;
    for(int i = 0; i < nV; i++) {
        if(nM == Arr[i]) {
            ap++;
        }
    }
    if(ap <= nV / 2) {
        out << -1;
    } else {
        out << nM << ap;
    }
    return 0;
}