Cod sursa(job #2681352)

Utilizator Theo20067Cismaru Theodor-Alexe Theo20067 Data 5 decembrie 2020 11:55:20
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.08 kb
#include <iostream>
#include <fstream>
#include <vector>
#define DIM 100003
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout("elmaj.out");
int n,x,ok;
int elem,sol;
vector < pair <int, int> > V[DIM];
int main ()
{
      fin>>n;
      for(int i=1;i<=n;i++)
      {
            fin>>x;
            ok=0;
            for(int i=0;i<V[x%DIM].size();i++)
                  if(x==V[x%DIM][i].first)
                  {
                        V[x%DIM][i].second++;
                        if(V[x%DIM][i].second>=n/2+1)
                        {
                              elem=x;
                              sol=V[x%DIM][i].second;
                        }
                        ok=1;
                        break;
                  }
            if(ok==0)
                V[x%DIM].push_back(make_pair(x, 1));

            if(1>=n/2+1)
            {
                  elem=x;
                  sol=1;
            }
      }
      if(sol==0)
      {
            fout<<-1;
            return 0;
      }

      fout<<elem<<" "<<sol;
      return 0;
}