Cod sursa(job #1608349)

Utilizator AcuasPopescu Nicolae-Aurelian Acuas Data 22 februarie 2016 00:01:53
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
#include <map>
#define NMAX 1000000
using namespace std;
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
long long n,aux,i,k,temp,a[NMAX];
int main()
{
    cin>>n;
    k=0,aux=-1;
    for(i=1;i<=n;i++){
        cin>>a[i];
        if(k==0){
            k=1;
            aux=a[i];
        }
        else if(a[i]==aux){
            k++;
        }
        else
            k--;
    }
    if(aux<0){
        cout<<-1;
        return 0;
    }
    long long nr=0;
    for(i=1;i<=n;i++){
        if(a[i]==aux)
            ++nr;
    }
    if(nr>n/2)
        cout<<aux<<' '<<nr;
    else
        cout<<-1;
    return 0;
}