Pagini recente » Cod sursa (job #3278868) | Cod sursa (job #1827584) | Cod sursa (job #1605471) | Cod sursa (job #875603) | Cod sursa (job #2616379)
#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;
}