Cod sursa(job #662444)

Utilizator Smaug-Andrei C. Smaug- Data 16 ianuarie 2012 18:37:30
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>

#define MAXN 1000010

int main(){

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

  int N, i, pair, cnt;
  static int A[MAXN];

  scanf("%d", &N);
  for(i=0; i<N; i++)
    scanf("%d", A+i);

  cnt=0; pair=0;
  for(i=0; i<N; i++){
    if(!cnt){
      pair=A[i];
      cnt=1;
    }
    else if(A[i] == pair)
      cnt++;
    else
      cnt--;
  }

  cnt=0;
  for(i=0; i<N; i++)
    if(A[i] == pair)
      cnt++;

  if(cnt > (N>>1))
    printf("%d %d\n", pair, cnt);
  else
    printf("-1\n");

  return 0;

}