Cod sursa(job #2541051)

Utilizator Florinos123Gaina Florin Florinos123 Data 8 februarie 2020 00:12:46
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <cstring>

using namespace std;

ifstream f ("elmaj.in");
ofstream g ("elmaj.out");

int n, i, aparitii, element, v[1000005];

int main()
{
 f >> n;
  for (i=1; i<=n; i++)
     f >> v[i];
  element = v[1], aparitii = 1;
   for (i=2; i<=n; i++)
   {
       if (aparitii)
       {
           if (v[i] == element)
             aparitii ++;
           else
            aparitii --;
       }
       else {
            element = v[i];
            aparitii = 1;
       }
   }
  if (aparitii > 0)
  {
    int cnt = 0;
      for (i=1; i<=n; i++)
      {
          if (v[i] == element)
             cnt ++;
      }
    if (cnt >= n/2+1)
        g << element << " " << cnt;
    else
        g << -1;
  }
    return 0;
}