Cod sursa(job #2708537)

Utilizator George_CristianGeorge Dan-Cristian George_Cristian Data 18 februarie 2021 20:47:26
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>

using namespace std;

ifstream f("elmaj.in");
ofstream g("elmaj.out");

int n, v[1000005], cur = -1, nr = 0;

int main() {
    f >> n;
    for (int i = 0; i < n; ++i) {
        f >> v[i];
        if (!nr) {
            cur = v[i];
            nr = 1;
        } else if (v[i] == cur)
            nr++;
        else
            nr--;
    }
    nr = 0;
    for (int i = 0; i < n; ++i)
        if (v[i] == cur)
            nr++;
    if (nr >= n / 2 + 1)
        g << cur << ' ' << nr;
    else
        g << -1;
    return 0;
}