Cod sursa(job #2785083)

Utilizator Robys01Robert Sorete Robys01 Data 17 octombrie 2021 22:29:29
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

using namespace std;

ifstream cin("elmaj.in");
ofstream cout("elmaj.out");

int n, apar, val[1000001], candidat;

int main()
{
    cin>>n;
    for(int k=1;k<=n;k++)
    {
        cin>>val[k];
 
        if(apar==0)
        {
            apar++;
            candidat=val[k];
        }
        else if(candidat!=val[k])
            apar--;
        else
            apar++;
    }

    apar = 0;
    for(int i = 1; i <=n; i++) 
        if(val[i] == candidat)
            apar++;
    
    if(apar >= n/2 + 1)
        cout<<candidat<<' '<<apar;
    else
        cout<<-1;

  
    return 0;
}