Cod sursa(job #1193551)

Utilizator ZenusTudor Costin Razvan Zenus Data 31 mai 2014 23:08:52
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <cstdio>

using namespace std;

#define NMAX 1000001

int V[NMAX];
int EM,N,k,A,i;

int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);

scanf("%d%d",&N,&V[1]);

EM=V[1];k=1;

for (i=2;i<=N;++i)
{
   scanf("%d",&V[i]);
   (V[i]==EM) ? ++k : --k;

   if (k<0)
   {
       EM=V[i];
       k=1;
   }
}

for (i=1;i<=N;++i)
if (EM==V[i]) ++A;

(A>=N/2+1) ? printf("%d %d\n",EM,A) : printf("-1\n");

return 0;
}