提交记录
代码
#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long
void merge_sort(int a[],int l,int r){
if(l >= r) return;
int mid = l + (r - l) / 2;
merge_sort(a,l,mid);
merge_sort(a,mid + 1,r);
int p1 = l,p2 = mid + 1,p = 0;
int b[r - l + 1];
while(p1 <= mid && p2 <= r){
if(a[p1] > a[p2]){
b[p++] = a[p2++];
}else{
b[p++] = a[p1++];
}
}
while(p1 <= mid){
b[p++] = a[p1++];
}
while(p2 <= r){
b[p++] = a[p2++];
}
for(int i = 0 ; i < p ; i++){
a[l + i] = b[i];
}
}
int n,k,a[5000005];
signed main(){
cin>>n>>k;
for(int i = 1 ; i <= n ; i++){
cin>>a[i];
}
merge_sort(a,1,n);
cout<<a[k];
return 0;
}