Cod sursa(job #2295312)

Utilizator SemetgTemes George Semetg Data 3 decembrie 2018 15:41:43
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#define N_MAX 1000005
using namespace std;

ifstream cin{"elmaj.in"};
ofstream cout{"elmaj.out"};

int a[N_MAX];

int main() {
    int n; cin >> n;

    int last { -1 }, nr { 0 };
    for (int i { 1 }; i <= n; ++i) {
        cin >> a[i];

        if (!nr) {
            last = a[i];
            nr = 1;
        } else if (last == a[i]) {
            ++nr;
        } else {
            --nr;
        }
    }

    nr = 0;
    for (int i { 1 }; i <= n; ++i)
        nr += a[i] == last;

    if (nr >= n / 2 + 1)
        cout << last << ' ' << nr;
    else
        cout << -1;
}