Cod sursa(job #2170748)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 15 martie 2018 09:38:34
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>
using namespace std;
ifstream f ("elmaj.in");
ofstream g ("elmaj.out");
int n,v[1000005],act,fr;
int main()
{
      f>>n;
      for(int i=1;i<=n;++i)
      {
            f>>v[i];
      }
      act=v[1];
      fr=1;
      for(int i=2;i<=n;++i)
      {
            if(v[i]==act)
            {
                  ++fr;
                  continue;
            }
            else
            {
                  --fr;
                  if(fr<0)
                  {
                        act=v[i];
                        fr=1;
                  }
            }
      }
      fr=0;
      for(int i=1;i<=n;++i)
      {
            if(act==v[i]) ++fr;
      }
      if(fr>=n/2+1)
      {
            g<<act<<' '<<fr;
      }
      else g<<-1;
      return 0;
}