Cod sursa(job #1188118)

Utilizator armandpredaPreda Armand armandpreda Data 18 mai 2014 22:39:30
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>

using namespace std;

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