Cod sursa(job #1905691)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 6 martie 2017 10:20:10
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <bits/stdc++.h>
using namespace std;
int n,v[1000001],maj,k,i;
int main()
{
    freopen("elmaj.in","r",stdin);
    freopen("elmaj.out","w",stdout);
    scanf("%d",&n);
    scanf("%d",&v[1]);
    maj=v[1];
    k=1;
    for(i=2;i<=n;++i)
    {
        scanf("%d",&v[i]);
        if(v[i]==maj) ++k;
        else --k;
        if(k<0) {maj=v[i];k=1;}
    }
    k=0;
    for(i=1;i<=n;++i) if(v[i]==maj) ++k;
    if(k>n/2) printf("%d %d",maj,k);
    else printf("-1");
    return 0;
}