Cod sursa(job #2173941)

Utilizator PopeangaMihneaPopeanga Mihnea- Stefan PopeangaMihnea Data 16 martie 2018 09:47:25
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("elmaj.in");
ofstream fout("elmaj.out");

int n, x[1000001];

int main()
{
    fin>>n;
    for(int i=1; i<=n; ++i) fin>>x[i];
    int sef=-1; int k=0;
    for(int i=1; i<=n; ++i)
    {
        if(k==0)
        {
            sef=x[i];
            ++k;
        }
        else if(sef==x[i]) ++k;
        else --k;
    }
    if(sef<0) {fout<<"-1\n"; return 0;}
    int nr=0;
    for(int i=1; i<=n; ++i) if(x[i]==sef) ++nr;
    if(nr>n/2) fout<<sef<<" "<<nr<<"\n";
    else fout<<"-1\n";
    return 0;
}