Cod sursa(job #2046056)

Utilizator ciocirlanrCiocirlan Robert ciocirlanr Data 23 octombrie 2017 12:50:11
Problema Elementul majoritar Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <map>
#include <algorithm>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
#define NMAX 1000001

int N;
unsigned int v[NMAX];
int maxx,val;

int srt(int n, unsigned int a[]) {

    sort(a+1,a+n+1);
    int i = 0;
    while (i < n) {
          int j = i;
          while (j < n && a[j + 1] == a[i])
              j++;
          if ((j - i + 1) > n/2)
               val = a[i] , maxx = j;
          i = j + 1;
    }
    if(val == 0)
        val = -1;
}

int main() {

    in >> N;
    for(int i = 1; i <= N; ++i)
        in >> v[i];

    int sol = srt(N,v);

    if(val == - 1)out << val;
        else
            out << val << " " << maxx;


    return 0;
}