Cod sursa(job #1991147)

Utilizator Stefan_RaduStefan Radu Stefan_Radu Data 15 iunie 2017 14:09:11
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <vector>

using namespace std;

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

int main(){
  int n;
  int best = -1, ap = 0;
  cin >> n;
  vector<int> v(n + 1);
  for(int i = 1; i <= n; i++){
    cin >> v[i];
    if(v[i] == best)
      ap ++;
    else if(ap == 0){
      best = v[i];
      ap ++;
    }
    else
      ap --;
  }
  ap = 0;
  for(int i = 1; i <= n; i++){
    if(v[i] == best)
      ap ++;
  }
  if(ap >= n / 2 + 1)
    cout << best << ' ' << ap;
  else 
    cout << "-1" << '\n';
}