Cod sursa(job #1993543)

Utilizator dahaandreiDaha Andrei Codrin dahaandrei Data 23 iunie 2017 11:31:02
Problema Elementul majoritar Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int cnt, n, v[1000001], i;

int main (){
    in >> n;

    for (int i = 1; i <= n; ++ i){
        in >> v[i];
    }

    sort(v, v + n);

    int i = 1;
    while (i <= n){
        if (v[i] != v[i - 1])
            cnt = 0;

        cnt ++;

        if (cnt >= n / 2 + 1){
            i ++;
            break;
        }

        i ++;
    }

    while (i <= n && v[i] == v[i - 1]){
        cnt ++;
        i ++;
    }
    if (cnt >= n / 2 + 1){
        out << v[i - 1] << " " << cnt;
    }
    else
        out << -1;

    return 0;
}