谁来帮我看看是咋回事
查看原帖
谁来帮我看看是咋回事
614813
2115lhx楼主2022/9/14 16:17
#include<iostream>
using namespace std;
int m,n;
int a[5000002];
void sort(int l,int r) {
	if(l>=r)return ;
	int x=a[(l+r)/2],i=l-1,j=r+1;
	while(i<j) {
		do i++;
		while(x>a[i]);
		do j--;
		while(x<a[j]);
		if(i<j)swap(a[i],a[j]);
	}
	sort(l,j);
	sort(j+1,r);
}
int main() {
	cin>>m>>n;
	for(int i=1; i<=m; i++)
		cin>>a[i];
	sort(0,m);
//	for(int i=1;i<=m;i++)
//	cout<<a[i]<<" ";
	int p=0;
	for(int i=1; i<=m; i++) {
		if(a[i]!=a[i-1])p++;
	//	cout<<p<<endl;
		if(p==n) {
			cout<<a[p+1];
			return 0;
		}
	}
	return 0;
}

2022/9/14 16:17
加载中...