Cod sursa(job #1371139)

Utilizator delta_wolfAndrei Stoica delta_wolf Data 3 martie 2015 19:23:07
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <cstdio>
using namespace std;
long long i,j,n,k,cnt,a[1000010];
int main()
{
    freopen("elmaj.in","r",stdin);
    freopen("elmaj.out","w",stdout);
    scanf("%lld",&n);
    scanf("%lld",&a[1]);
    cnt=1;
    k=a[1];
    for(i=2;i<=n;i++)
    {
        scanf("%lld",&a[i]);
        if(cnt==0)
        {
            k=a[i];
            cnt=1;
        }
        else if(a[i]==k)
        cnt++;
        else if(a[i]!=k)
        cnt--;
    }
    cnt=0;
    for(i=1;i<=n;i++)
    {
        if(a[i]==k)
        cnt++;
    }
    if(cnt>=n/2+1)
    printf("%lld %lld",k,cnt);
    else printf("-1");
    return 0;
}