Cod sursa(job #1124912)

Utilizator alex_bucevschiBucevschi Alexandru alex_bucevschi Data 26 februarie 2014 14:22:55
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>
#define N 1000010
using namespace std;
int n,i,maj,cnt,x[N];
int main()
{
    freopen("elmaj.in","r",stdin);
    freopen("elmaj.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&x[i]);
        if(!cnt)
        {
            maj=x[i];cnt=1;
        }
        else
        if(x[i]==maj)cnt++;
        else cnt--;
    }
    for(i=1,cnt=0;i<=n;i++)
        if(x[i]==maj)cnt++;
    if(cnt>=n/2+1)
        printf("%d %d\n",maj,cnt);
    else
        printf("-1\n");
    return 0;
}