AcWing 786. 第k个数
原题链接
简单
作者:
nomain.
,
2025-04-14 21:03:57
· 山东
,
所有人可见
,
阅读 1
import java.util.*;
import java.io.*;
public class Main{
public static int N = 100010;
public static int n , k;
public static int[] a = new int[N];
public static void quickSort(int l,int r){
if(l >= r) return ;
int i = l - 1;
int j = r + 1;
int x = a[i + j >> 1];
while(i < j){
do i ++;while(a[i] < x);
do j --;while(a[j] > x);
if(i < j){
int tem = a[i];
a[i] = a[j];
a[j] = tem;
}
}
quickSort(l,j);
quickSort(j+1,r);
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String[] line = br.readLine().split(" ");
n = Integer.parseInt(line[0]);
k = Integer.parseInt(line[1]);
String[] s = br.readLine().split(" ");
for(int i = 0;i < n;i ++) a[i] = Integer.parseInt(s[i]);
quickSort(0,n-1);
System.out.println(a[k-1]);
}
}