Cod sursa(job #2046053)

Utilizator ciocirlanrCiocirlan Robert ciocirlanr Data 23 octombrie 2017 12:45:16
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 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 - 1;
          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 << -1;
    else
        out << val << " " << maxx;


    return 0;
}