Pagini recente » Cod sursa (job #55986) | Cod sursa (job #543470) | Cod sursa (job #1731703) | Cod sursa (job #729503) | Cod sursa (job #777106)
Cod sursa(job #777106)
#include <fstream>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
int a[500002],n,k,i;
void quicksort(int a[] , int left , int right,int k)
{
int i=left,j=right,tmp;
int pivot=a[left + rand() % (right-left+1)];
while(i<=j)
{
while(a[i]<pivot) i++;
while(a[j]>pivot) j--;
if (i<=j)
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
i++;
j--;
}
}
if (left<j)
{ if(j-left+1>=k)
quicksort(a,left,j,k);
}
if (i<right)
{if (j-left+1<k) quicksort(a,i,right,k-(j-left+1));}
}
int main()
{
f>>n>>k;
for(i=1; i<=n ;i++) f>>a[i];
quicksort(a,1,n,k);
g<<a[k]<<" ";
}