Cod sursa(job #2093540)

Utilizator kodama cheama alex koda Data 23 decembrie 2017 22:46:46
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <iostream>

using namespace std;

int v[1000001];

int main () {
  ifstream fin ("elmaj.in");
  ofstream fout ("elmaj.out");
  int m, i, j, n, c;
  fin>>n;
  m = -1;
  j = 0;
  for ( i = 0; i < n; i++ ) {
    fin>>v[i];
    if ( j == 0 ) {
      m = v[i];
      j++;
    } else {
      if ( v[i] == m )
        j++;
      else
        j--;
    }
  }
  c = 0;
  for ( i = 0; i < n; i++ ) {
    if ( v[i] == m )
      c++;
  }
  if ( c > n / 2 )
    fout<<m<<" "<<c;
  else
    fout<<"-1";
  return 0;
}