大佬,康康我吧。
查看原帖
大佬,康康我吧。
282391
123q楼主2020/4/29 22:23
#include<bits/stdc++.h>
using namespace std;
long long int a[5000010],k,i,j,n;
void fun(int x,int y);
void fun(int x,int y){
  long long int l=x,r=y,t;
  long long int mid=a[(l+r)/2];
	while(r>=l)
     	{
     		while(a[l]<mid)
     		 l++;
     	    while(a[r]>mid)
             r--;
			if(l<=r)
			{
			   t=a[l];
			   a[l]=a[r];
			   a[r]=t;
			   l++;r--;
			}    		
		 }
	if (l<y) fun(l,y);
	if(r>x) fun(x,r);
}
int main()
{
	scanf("%lld%lld",&n,&k);
	for(i=0;i<n;i++)
	scanf("%lld",&a[i]);
	fun(0,n-1);
	printf("%lld",a[k]);
	return 0;
}


这个该怎么改才不会超时呢

2020/4/29 22:23
加载中...