求助,只过了前两个样例,后三个wr
查看原帖
求助,只过了前两个样例,后三个wr
1142333
ykl_705楼主2024/7/20 11:41
#include<bits/stdc++.h>
#include<cstdio>
using namespace std;
int Qsort(int* a,int start,int end,int k){
    if(start == end && start == k-1)return a[start];
    else if(start < end){
        int i = start,j = end;
        int p = a[start];
        while(i < j){
            while(j > i && a[j] >= p)j--;
            a[i] = a[j];
            while(i < j && a[i] <= p)i++;
            a[j] = a[i];

        }
        a[i] = p;
        if(i == k-1)return a[i];
        else if(i < k-1)return Qsort(a,i + 1,end,k);
        else return Qsort(a,start,i - 1,k);
    }
}
int main(){
    int n,k;
    scanf("%d%d",&n,&k);
    int a[n];
    for(int i = 0;i < n;i++){
        scanf("%d",&a[i]);
    }
   printf("%d\n",Qsort(a,0,n - 1,k));
}

2024/7/20 11:41
加载中...