C++30求助
查看原帖
C++30求助
673724
waslb楼主2022/7/27 08:55
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<int>a;
int n,k,x;
void qsort(int l,int r)
{
	if(l<r)
	{
		int i=l,j=r,x=a[l];
		while(i<j)
		{
			while(i<j&&a[j]>=x)
				j--;
			if(i<j)
			 a[i++]=a[j];
			while(i<j&&a[i]<x)
				i++;
			if(i<j)
				a[j--]=a[i];
		}
		a[i]=x;
		qsort(l,i-1);
		qsort(i+1,r);
	}
}
int main()
{
	cin>>n>>k;
	for(register int i=0;i<n;i++)
	{
		cin>>x;
		a.push_back(x);
	}
	qsort(0,a.size()-1);
	for(register int i=0;i<a.size()-1;i++)
	{
		if(a[i]==a[i+1])
			a.erase(a.begin()+i,a.begin()+i+1);
	}
	if(k>a.size())
		cout<<"NO RESULT";
	else
		cout<<a[k-1];
	return 0;
}

样例能过,实测30分

2022/7/27 08:55
加载中...