Cod sursa(job #2154702)

Utilizator CammieCamelia Lazar Cammie Data 7 martie 2018 10:42:39
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>

#define MAXN 1000005

using namespace std;

ifstream fin("elmaj.in");
ofstream fout("elmaj.out");

int a[MAXN], N;

inline void Read() {
    fin >> N; int cand, k = 0;

    for (int i = 1; i <= N; i++) {
        fin >> a[i];
        if (k == 0) {
            cand = a[i]; k++;
        }
        else if (a[i] == cand)
            k++;
        else
            k--;
    }

    int contor = 0;

    if (k == 0)
        fout << -1;
    else {
        for (int i = 1; i <= N; i++) {
            if (a[i] == cand)
                contor++;
        }

        if (contor > N / 2)
            fout << cand << " " << contor;
        else
            fout << -1;
    }
}

int main () {
    Read();

    fin.close(); fout.close(); return 0;
}