为什么我这样写不行,虽然可能会慢一点,但也不至于一个点都过不了吧?
#include<stdio.h>
int a[100000010];
int quick_sort(int q[],int l,int r){
if(l>=r) return 0;
int i=l-1, j=r+1, x=q[(l+r)/2];
while(i<j){
do i++; while(q[i]<x);
do j--; while(q[j]>x);
if(i<j){
int t=q[i];
q[i]=q[j];
q[j]=t;
}
}
quick_sort(a,l,j); quick_sort(a,j+1,r);
}
int main(){
int n,m,i,sum=0,k;
scanf("%d%d",&m,&k);
for(i=1;i<=m;i++)
scanf("%d",&a[i]);
quick_sort(a,1,m);
k=k+1;
for(i=1;i<=m;i++){
if(a[i]!=a[i-1]){
sum++;
}
if(sum==k){
printf("%d\n",a[i]);
break;
}
}
}