Cod sursa(job #643335)

Utilizator proflaurianPanaete Adrian proflaurian Data 3 decembrie 2011 14:39:15
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 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=1;i<=n;i++)scanf("%d",&x[i]);
    m=x[1];c=1;
    for(p=x+1;*p;p++)
    {
        if(*p==m){c++;continue;}
        c--;
        if(c<0){c=1;m=*p;}
    }
    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;
}