AcWing 786. 第k个数
原题链接
简单
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std ;
const int N = 100010 ;
int n , k ;
int q[N] ;
void quick_sort (int a[] , int l , int r)
{
if ( l >= r) return ;
int x = a[(l + r) >> 1] , i = l - 1 , j = r + 1 ;
while (i < j) {
do i++ ; while (a[i] < x) ;
do j-- ; while (a[j] > x) ;
if ( i < j) swap (a[i] , a[j]) ;
}
quick_sort (a , l , j) , quick_sort (a , j + 1 , r) ;
}
int main ()
{
scanf ("%d%d" , &n , &k) ;
for (int i = 1 ; i <= n ; i++) scanf ("%d" , &q[i]) ;
quick_sort (q , 1 , n) ;
printf ("%d" , q[k]) ;
return 0 ;
}