Cod sursa(job #643338)

Utilizator proflaurianPanaete Adrian proflaurian Data 3 decembrie 2011 14:42:45
Problema Elementul majoritar Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 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++)cin>>x[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;
}