Cod sursa(job #966022)

Utilizator cahemanCasian Patrascanu caheman Data 25 iunie 2013 09:08:17
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<cstdio>

using namespace std;

int v[1000005];

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