Cod sursa(job #1092124)

Utilizator mariusn01Marius Nicoli mariusn01 Data 26 ianuarie 2014 16:39:44
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;

int v[1000002];
int n, nr, elm, i;

int main() {
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");
    fin>>n;

    elm = -1;
    nr = 0;
    for (i=1;i<=n;i++) {
        fin>>v[i];
        if (nr == 0) {
            nr++;
            elm = v[i];
        } else
            if (v[i] == elm)
                nr++;
            else
                nr--;
    }

    nr = 0;
    for (i=1;i<=n;i++)
        if (elm == v[i])
            nr++;
    if (nr >= n/2+1)
        fout<<elm<<" "<<nr<<"\n";
    else
        fout<<"-1\n";

    return 0;
}