Cod sursa(job #2616379)

Utilizator hirneagabrielHirnea Gabriel hirneagabriel Data 18 mai 2020 12:09:00
Problema Statistici de ordine Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");

int qs(int k,vector<int> v)
{
    int p=v[0];
    vector<int> L;
    vector<int> E;
    vector<int> G;
    for(int i=0;i<v.size();i++)
        if(v[i]<p)
        L.push_back(v[i]);
    else if(v[i]==p)
        E.push_back(v[i]);
    else if(v[i]>p)
        G.push_back(v[i]);

    if(k<=L.size())
       return qs(k,L);
else if(L.size()+E.size()>=k)
        return E[0];
    else
        return qs(k-L.size()-E.size(),G);

}

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





    fout << qs(k,v);
    return 0;
}