Cod sursa(job #1907194)

Utilizator justsomedudePalade Thomas-Emanuel justsomedude Data 6 martie 2017 18:14:22
Problema Elementul majoritar Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin  ("elmaj.in");
ofstream fout ("elmaj.out");

int N, M;
int a[1000003];

int main ()
{
  int i, j, cnt, elmaj;
  fin >> N;
  for (i=1; i<=N; i++)
    fin >> a[i];

  elmaj=a[1];
  cnt=1;

  for (i=2; i<=N; i++)
  {
      if (a[i]==elmaj) cnt++;
      else             cnt--;

      if (cnt<0) elmaj=a[i];
  }

  cnt=0;
  for (i=1; i<=N; i++)
      if (a[i] == elmaj)
        cnt++;
  if (cnt<N/2+1)
      fout << "-1";
  else
      fout << elmaj << " " << cnt << "\n";
  fin.close();
  fout.close();
  return 0;
}