Pagini recente » Cod sursa (job #1228401) | Cod sursa (job #2857839) | Cod sursa (job #1693812) | Cod sursa (job #2135338) | Cod sursa (job #1022052)
#include <fstream>
#include <iostream>
#include <cstdlib>
#include <time.h>
#define length 3000010
using namespace std;
ifstream in("sdo.in");
ofstream out("sdo.out");
int input[length],n,k;
void read()
{
in>>n>>k;
for(int i=1;i<=n;i++)
{
in>>input[i];
}
}
void write()
{
out<<input[k];
}
void quicksort(int left, int right)
{
int l,r,pivot;
l = left;
r = right;
if(right != left)
{
pivot = input[(rand() % (right-left)) + left];
}
else
{
pivot = input[left];
}
while(l<=r)
{
while(input[l]<pivot)
{
l++;
}
while(input[r]>pivot)
{
r--;
}
if(l<=r)
{
swap(input[l],input[r]);
l++;
r--;
}
}
if(left<r)
{
quicksort(left,r);
}
if(l<right)
{
quicksort(l,right);
}
}
int main()
{
srand ( time(NULL) );
read();
quicksort(1,n);
write();
}