最后两个点TLE了QwQ
快排:
#include<unistd.h>
#include<cstdio>
using namespace std;
const int N=5e6+10;
int a[N],n,k;
void quickSort(int arr[],int left,int right) {
if (left > right)return;
int i=left;
int j=right;
int base=arr[left];
while(i!=j) {
while(arr[j]>=base&&i<j)j--;
while(arr[i]<=base&&i<j)i++;
if(i<j) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
arr[left]=arr[i];
arr[i]=base;
quickSort(arr,left,i-1);
quickSort(arr,i+1,right);
}
int main(){
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++)scanf("%d",&a[i]);
quickSort(a,0,n);
printf("%d",a[k+1]);
}
sort:
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=5e6+10;
int a[N];
int main(){
int n,k;
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++)scanf("%d",&a[i]);
sort(a,a+n);
printf("%d",a[k]);
}