Cod sursa(job #2019964)

Utilizator mouse_wirelessMouse Wireless mouse_wireless Data 9 septembrie 2017 00:22:31
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.61 kb
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#define NMAX 1000010

int v[NMAX];

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