输入 nn(1 \le n < 50000001≤n<5000000 且 nn 为奇数)个数字 a_iai(1 \le a_i < {10}^91≤ai<109),输出这些数字的第 kk 小的数。最小的数是第 00 小。
请尽量不要使用 nth_element 来写本题,因为本题的重点在于练习分治算法。
#include<bits/stdc++.h>
using namespace std;
int a[10000000],ans,mi=1e9,ma=0;int s[10]={0},l,r;
int main()
{
int m,n,k;
scanf("%d%d",&m,&k);
for(int i=0;i<m;i++)
scanf("%d",&a[i]);
nth_element(a,a+k,a+m);
printf("%d",a[k]);
}