虽然用另一种写法AC了,但还是想问下
查看原帖
虽然用另一种写法AC了,但还是想问下
72921
jor蛋楼主2021/8/7 14:55

为什么我这样写不行,虽然可能会慢一点,但也不至于一个点都过不了吧?

#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++;
		}
		//	printf("%d\n",sum);
		if(sum==k){
			printf("%d\n",a[i]);
			break;
		}
			
	}		
}
2021/8/7 14:55
加载中...