哪位仁兄来帮我一下
查看原帖
哪位仁兄来帮我一下
614813
2115lhx楼主2023/2/7 12:55

最后一个数据总是超时

#include<iostream>
using namespace std;
int m,k;
int a[5000002];
void sort(int l,int r) {
	int i=l,j=r,mid=a[(l+r)/2];
	while(i<=j) {
		while(a[i]<mid)i++;
		while(a[j]>mid)j--;
		if(i<=j) {
			swap(a[i],a[j]);
			i++;
			j--;

		}
	}
	if(k<=j)sort(l,j);
	else if(k>=i)sort(i,r);
	else return ;
}
int main() {
	cin>>m>>k;
	for(int i=0; i<m; i++)
		cin>>a[i];
	sort(0,m-1);
	cout<<a[k];
	return 0;
}
2023/2/7 12:55
加载中...