Cod sursa(job #1757386)

Utilizator petru.ciocirlanPetru Ciocirlan petru.ciocirlan Data 14 septembrie 2016 22:14:33
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");

int main() {

  int n, a, cand=-1, k=0;

  f>>n;

  for (int i = 0; i < n; i++) {
    f>>a;
    if (k == 0) {
      cand = a;
      k = 1;
    } else if (a == cand) k++;
    else k--;
  }

  if (cand < 0) {
    g<<"-1";
    return 0;
  }

  f.close();
  ifstream f("elmaj.in");

  f>>n;

  int nr = 0;
  for (int i = 0; i < n; i++) {
    f>>a;
    if (a == cand) nr++;
  }

  if (nr > n / 2) g<<cand<<" "<<nr;
  else g<<"-1";

  f.close();
  g.close();
  return 0;
}