Cod sursa(job #2477498)

Utilizator E1goBack Andrei-Gheorghe E1go Data 20 octombrie 2019 14:43:10
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>
using namespace std;

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

vector <int> v;

int main()
{
    int n, x;
    fin>>n;
    for(int i=1; i<=n; i++)
    {
        fin>>x;
        v.push_back(x);
    }
    int nr=1; int k=0, mij;

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

    mij=(v.size()-1)/2;

    k=v[mij];
    while(v[mij-1] == v[mij])
        {
            mij--;
            nr++;
        }
    mij=(v.size()-1)/2;
    while(v[mij+1] == v[mij])
        {
            mij++;
            nr++;
        }

    if(nr >= n/2)
        fout<<k<<" "<<nr;
    else
        fout<<-1;
    return 0;
}