Pagini recente » Cod sursa (job #1657292) | Cod sursa (job #1869381) | Cod sursa (job #1134742) | Cod sursa (job #1398733) | Cod sursa (job #2616381)
#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;
}