Cod sursa(job #3165705)

Utilizator PapCzierPeterPap-Czier Peter PapCzierPeter Data 6 noiembrie 2023 19:28:59
Problema Elementul majoritar Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream in("elmaj.in");
    ofstream out("elmaj.out");
    int k,x,n,db=1;
    in>>n;
    in>>k;
    while (n>1) {
        in>>x;
        if (db==0) {
            k=x;
            db=1;
        }
        else {
            if (k==x) db++;
            else {
                db--;
                k=x;
            }
        }
        n--;
    }
    in.close();
    ifstream ein ("elmaj.in");
    ein>>n;
    db=0;
    for (int i=1;i<=n;i++) {
        ein>>x;
        if (x==k) db++;
    }
    if (db>=(n/2+1)) out<<k<<" "<<db;
    else out<<-1;
    ein.close();
    out.close();
    return 0;
}