Cod sursa(job #1973967)

Utilizator VladG26Ene Vlad-Mihai VladG26 Data 26 aprilie 2017 15:34:40
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <cstdio>
using namespace std;
long long n,velemCit[1000002],elemMaj,cnt=1;
int main()
{
    freopen("elmaj.in","r",stdin);
    freopen("elmaj.out","w",stdout);
    scanf("%lld",&n);
    scanf("%lld",&elemMaj);
    velemCit[1]=elemMaj;
    for(int i=2;i<=n;i++)
    {
        scanf("%lld",&velemCit[i]);
        if(velemCit[i]==elemMaj)
            cnt++;
        else
            cnt--;
        if(cnt==0)
        {
            elemMaj=velemCit[i];
            cnt=1;
        }
    }
    cnt=0;
    for(int i=1;i<=n;i++)
    {
        if(velemCit[i]==elemMaj)
            cnt++;
    }

    if(cnt>=n/2+1)
    printf("%lld %lld",elemMaj,cnt);
    else
    printf("-1");
    return 0;
}