Cod sursa(job #715288)

Utilizator XladhenianGrigorita Vlad-Stefan Xladhenian Data 16 martie 2012 23:06:10
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb

#include <algorithm>
#include <fstream>
using namespace std;

long V[1000000];

int s(const void *v1,const void *v2)
{
 return (*((long *)(v1))) - (*((long *)(v2)));
}

int main(void)
{
 fstream fin("elmaj.in",ios::in);
 fstream fout("elmaj.out",ios::out);
 long N,i;
 fin >> N;
 for (i = 0;i < N;i += 1)
  {
   fin >> V[i];
  }
 sort(V + 0,V + N);
 long maxv = V[0],maxlen = -1;
 long cv = V[0],clen = 1;
 for (i = 1;i < N;i += 1)
  {
   if (V[i] == cv)
     {
      clen += 1;
     }
    else
     {
      if (maxlen < clen)
        {
         maxlen = clen;
         maxv = cv;
        }
      cv = V[i];
      clen = 1;
     }
  }
 if (maxlen > (N / 2))
   {
    fout << maxv << " " << maxlen;
   }
  else
   {
    fout << "-1";
   }
 fin.close();
 fout.close();
 return 0;
}