Cod sursa(job #2532619)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 28 ianuarie 2020 00:10:06
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.04 kb
#include <iostream>
#include <fstream>
#include <vector>
#define DIM 100003

using namespace std;

ifstream fin  ("elmaj.in");
ofstream fout ("elmaj.out");

int n, k, ok;
int maxx, ap;
vector < pair <int, int> > v[DIM];

int main (){

      fin>>n;
      for(int i=1; i<=n; i++){
            fin>>k;
            ok=0;
            for(int i=0; i<v[k%DIM].size(); i++)
                  if(k == v[k%DIM][i].first){
                        v[k%DIM][i].second++;

                        if(v[k%DIM][i].second >= n/2+1){
                              maxx=k;
                              ap=v[k%DIM][i].second;
                        }

                        ok=1;
                        break;
                  }
            if(ok == 0)
                  v[k%DIM].push_back( make_pair(k, 1) );

            if(1 >= n/2+1){
                  maxx=k;
                  ap=1;
            }
      }

      if(ap == 0){
            fout<<-1;
            return 0;
      }

      fout<<maxx<<" "<<ap;
      return 0;
}