Cod sursa(job #1856943)

Utilizator andy1207Cioltan Andrei andy1207 Data 25 ianuarie 2017 17:32:51
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<cstdio>

const int Nmax=1000000;

int v[Nmax+1];

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