Cod sursa(job #1538272)

Utilizator DrumeaVDrumea Vasile DrumeaV Data 28 noiembrie 2015 18:54:36
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <stdio.h>
#include <string.h>
#include <algorithm>

using namespace std;

const int MN = 1000006;

int N;
int A[MN];

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

     int N,Sol = 0,el = -1;

     scanf("%d",&N);

     for (int i = 1;i <= N;i++)
     {
         scanf("%d",&A[i]);

         if (!Sol)
            el = A[i],Sol = 1;
       else
            Sol += (A[i] == el ? 1 : -1);
     }

     Sol = 0;

     for (int i = 1;i <= N;i++)
         Sol += (A[i] == el ? 1 : 0);

     if (Sol < (N / 2) + 1)
        el = -1;

     if (el > 0)
        printf("%d %d\n",el,Sol);
   else
        printf("-1\n");

  return 0;
}