Cod sursa(job #2280046)

Utilizator cristii2000cristiiPanaite Cristian cristii2000cristii Data 10 noiembrie 2018 11:08:05
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

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

int n;
vector <int> sir;

int main() {

    in >> n;

    for(int i = 0; i < n; i++){
        int x;
        in >> x;
        sir.push_back(x);
    }

    sort(sir.begin(), sir.end());

    int maj = n / 2 + 1;
    int nrap = 1;

    for(int i = 0; i < sir.size() - 1; i++){
        if(sir[i] == sir[i + 1])
            nrap++;
        else{
            if(sir[i] != sir[i + 1] && nrap >= maj){
                out << sir[i] << " " << nrap;
                return 0;
            } else
                nrap = 1;
        }
    }

    out << "-1";

    return 0;
}