Cod sursa(job #2252135)

Utilizator mpavel77Pavel Mihai mpavel77 Data 2 octombrie 2018 13:09:30
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
unsigned long long v[1000001];
int main()
{
  int n,nr=0,nr_g,i,j,s;
  unsigned long long elc,elc_g;
  bool gasit=false;
    f>>n;
    for (int i=1;i<=n;i++)
    f>>v[i];
    sort(v+1,v+n+1);
    i=1; elc=v[1];
    s=0;
    while ((not gasit)&&(i<=n/2)&&(s<n/2))
    {
      j=i;
      while ((j<=n)&&(v[j]==elc))
      {nr++;j++;}
      s=s+nr;
      //g<<"s="<<s<<'\n';
      if (nr>n/2)
      {
        gasit=true;
        elc_g=elc;nr_g=nr;
      }else
      {
        elc=v[j];nr=1;
      }
      i=j+1;


    }
    if (g)
    {
      g<<elc_g<<" "<<nr_g;
    }else
    {
      g<<"-1";
    }
    return 0;
}