Cod sursa(job #2163875)

Utilizator aeromaniaXRadoi Iulian aeromaniaX Data 12 martie 2018 20:18:23
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;
int a[999999];
int n,candidat,k,nr;
void date()
{
    freopen("elmaj.in","r",stdin);
    freopen("elmaj.out","w",stdout);
}

int main()
{
    date();
    scanf("%d",&n);
    candidat = -1;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);

        if(k==0)
            candidat=a[i],k++;
        else if(a[i]==candidat) k++;
        else k--;
    }
    if(candidat == -1)
    {
        printf("-1");
        return 0;
    }
    for(int i=1;i<=n;i++)
        if(a[i]==candidat)
            nr++;
    if(nr>n/2)
        printf("%d %d\n",candidat,nr);
    else printf("-1");

    return 0;
}