Cod sursa(job #2643600)

Utilizator Razvan48Capatina Razvan Nicolae Razvan48 Data 20 august 2020 15:59:44
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

using namespace std;

const int NMAX = 1000000;
int vec[1 + NMAX];

int main()
{
  ifstream in("elmaj.in");
  ofstream out("elmaj.out");

  int n, nr = 0, count = 1;

  in >> n;

  for (int i = 1; i <= n; i++)
  {
    in >> vec[i];

    if (vec[i] == nr)
    {
      count++;
    }
    else
    {
      count--;

      if (count == 0)
      {
        nr = vec[i];
        count = 1;
      }
    }
  }

  count = 0;

  for (int i = 1; i <= n; i++)
  {
    if (vec[i] == nr)
    {
      count++;
    }
  }

  if (count > n / 2)
  {
    out << nr << ' ' << count;
  }
  else
  {
    out << -1;
  }

  return 0;
}