Cod sursa(job #2616381)

Utilizator hirneagabrielHirnea Gabriel hirneagabriel Data 18 mai 2020 12:15:19
Problema Statistici de ordine Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 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 n,l,e,g;
    int p=v[0];
    vector<int> L;
    vector<int> E;
    vector<int> G;
    n=v.size();
    for(int i=0;i<n;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]);
    l=L.size();
    e=E.size();
    g=G.size();
    if(k<=l)
       return qs(k,L);
else if(l+e>=k)
        return E[0];
    else
        return qs(k-l-e,G);

}

int main() {
    int n,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;
}