Cod sursa(job #643337)

Utilizator proflaurianPanaete Adrian proflaurian Data 3 decembrie 2011 14:41:44
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include<cstdio>
using namespace std;
int n,i,x[1000001],m,c,*p;
int main()
{
    freopen("elmaj.in","r",stdin);
    freopen("elmaj.out","w",stdout);
    scanf("%d",&n);
    for(i=0;i<n;i++)scanf("%d",&x[i]);
    m=x[0];c=1;
    for(p=x+1;*p;p++)
    {
        if(*p==m){c++;continue;}
        c--;
        if(c<0){c=1;m=*p;}
    }
    if(!c)printf("-1\n");
    else
    {
        for(p=x,c=0;*p;p++)
        if(*p==m)c++;
        if(c<=n-c)printf("-1\n");
        else printf("%d %d",m,c);
    }
    return 0;
}