Cod sursa(job #1392706)

Utilizator c0rn1Goran Cornel c0rn1 Data 18 martie 2015 20:42:49
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#define NMAX 1000008

using namespace std;

int a[NMAX];

int main()
{
   int n, b = -1, k = 0, nr = 0;
   ifstream fin("elmaj.in");
   ofstream fout("elmaj.out");
   fin>>n;
   for (int i = 1; i <= n; ++i){
      fin >> a[i];
      if (k == 0){
         b = a[i];
         k = 1;
      }
      else if (b == a[i])
         k++;
      else
         k--;
   }
   for (int i = 1; i <= n; ++i){
      if (a[i] == b)
         ++nr;
   }
   if (nr > n / 2){
      fout << b << " " << nr << "\n";
   }
   else {
      fout << "-1\n";
   }

   return 0;
}