Pagini recente » Cod sursa (job #2063262) | Cod sursa (job #763325) | Cod sursa (job #1458716) | Cod sursa (job #1230708) | Cod sursa (job #1549279)
#include <fstream>
#include <vector>
#include <cstdlib>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
vector<int> V;
int n,i,x,k;
int a(std::vector <int> &V, size_t start, size_t stop)
{
int pivot,i,j;
pivot = V[start + rand() % (stop-start)];
i = start-1; j = stop + 1;
while(1)
{
do
j--;
while (V[j]>pivot);
do
i++;
while (V[i]<pivot);
if (i<j)
swap(V[i],V[j]);
else return i;
}
}
void sortare(std::vector <int> &V, size_t start, size_t stop, int k)
{
int i;
i = a(V,start,stop);
if (k==i) g<<V[k];
else
if (k>i) sortare(V,i+1,V.size()-1,k);
else sortare(V,0,i,k);
}
int main()
{
f>>n>>k;
for (i=1;i<=n;i++)
{
f>>x; V.push_back(x);
}
sortare(V,0,V.size()-1,k-1);
return 0;
}