Cod sursa(job #1788359)

Utilizator SenibelanMales Sebastian Senibelan Data 25 octombrie 2016 22:13:27
Problema Elementul majoritar Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>

using namespace std;

ifstream in("elmaj.in");
ofstream out("elmaj.out");

int v[1000006], n;

int main(){
  int k = 0, maj;
  in >> n;
  for(int i = 0; i < n; ++i){
    in >> v[i];
    if(k == 0){
      maj = v[i];
    }
    else if(v[i] == maj)
      k++;
    else
      k--;
  }
  k = 0;
  for(int i = 0; i < n; ++i){
    if(v[i] == maj)
      k++;
  }
  if(k == n / 2 + 1)
    out << maj << " " << k << "\n";
  else
    out << -1 << "\n";
  return 0;
}