Cod sursa(job #2909951)

Utilizator Luca_Miscocilucainfoarena Luca_Miscoci Data 17 iunie 2022 11:15:17
Problema Elementul majoritar Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#define NMAX 100000
using namespace std;

int v[NMAX + 1];

int main(){

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

  int n;
  fin >> n;

  for (int i = 1; i <= n; i++)
    fin >> v[i];

  int _count = 0, prez = 0;
  for (int i = 1;i <= n;i ++){
    if (_count == 0)
      prez = v[i], _count = 1;
    else if (prez == v[i])
      _count ++;
    else _count --;
  }

  int cnt = 0;
  for (int i = 1; i <= n; i++){
    if (v[i] == prez) cnt ++;
  }

  if (cnt > n / 2)
    fout << prez << " " << cnt <<"\n";
  else fout << "-1";
  return 0;
}