Cod sursa(job #3207586)

Utilizator david333Popescu David david333 Data 26 februarie 2024 15:34:20
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.58 kb
#include <fstream>
using namespace std;
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
int n, i, nr, maj, a[3000005];
int main()
{
    cin>>n;
    for(i=1; i<=n; i++)
    {
        cin>>a[i];
    }
    nr=1;
    maj = a[1];
    for(i=2; i<=n; i++)
    {
        if(a[i]==maj) {
            nr++;
        } else {
            nr--;
            if( nr < 0 ) {nr=1;maj=a[i];}
        }
    }
    nr = 0;
    for( i = 1; i <= n; i++) {
        if( a[i] == maj )
            nr++;

    }
    (nr > n / 2) ? cout << maj << " " << nr : cout << "-1";
    return 0;
}