Cod sursa(job #1650399)

Utilizator george_stelianChichirim George george_stelian Data 11 martie 2016 18:06:35
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <cstdio>

using namespace std;

int v[1000010];

int main()
{
    freopen("elmaj.in", "r", stdin);
    freopen("elmaj.out", "w", stdout);
    int n,a=0,nr=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%d",&v[i]);
    for(int i=1;i<=n;i++)
        if(nr==0) {a=v[i];nr=1;}
        else if(v[i]==a) nr++;
        else nr--;
    nr=0;
    for(int i=1;i<=n;i++) nr+=(v[i]==a);
    if(nr>=n/2+1) printf("%d %d",a,nr);
    else printf("-1");
    return 0;
}