求助最后两个点re
查看原帖
求助最后两个点re
488809
LIASPO楼主2022/3/23 11:03
#include<iostream>
#include<stdlib.h>
using namespace std;
int ans=0,k=1; 
void qsort(int a[],int l,int r){
	int i = l,j=r,flag=a[(l+r)/2],tmp;
	if(r==l){
		ans=a[l+1];
		return;
	}
	do{
	while(a[i]<flag)i++;
	while(a[j]>flag)j--;
	if(i<=j){
		tmp=a[i];a[i]=a[j];a[j]=tmp;
		i++;
		j--;
	}
	}while(i<=j);
	if(k<=j)qsort(a,l,j);
	else if(i<=k)qsort(a,i,r);
	else qsort(a,j+1,i-1);
} 
int main(){
 	int a[250000]={0},l=1,r;
 	cin>>r>>k;
 	for(int i=1;i<=r;i++){
 		cin>>a[i];
   }
	 qsort(a,l,r);
	cout<<ans;
	 return 0;
 } 
 
2022/3/23 11:03
加载中...