Cod sursa(job #2684522)

Utilizator DragosC1Dragos DragosC1 Data 13 decembrie 2020 22:24:05
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
using namespace std;

int a[1000001], n;

int main() {
    int i, cand, numar, nr = 0;
    ifstream f("elmaj.in");
    f >> n;
    for (i = 1; i <= n; i++)
        f >> a[i];
    f.close();
    cand = a[1];
    numar = 1;
    for (i = 2; i <= n; i++) 
        if (a[i] != cand) {
            numar--;
            if (numar == 0) {
                cand = a[i];
                numar = 1;
            }
        }
        else numar++;
    for (i = 1; i <= n; i++)
        if (a[i] == cand)
            nr++;
    ofstream g("elmaj.out");
    if (nr <= n / 2)
        g << -1;
    else g << cand << ' ' << nr;
    g.close();
    return 0;
}