题解:P1923 【深基9.例4】求第 k 小的数
这道题其实可以用 sort 直接排序,代码如下:
#include<bits/stdc++.h>
using namespace std;
int a[5000000]={};
int main(){
int n,k;
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
cout<<a[k];
return 0;
}
不过会 TLE 两个数据,不过只需改一下输入输出就行,代码如下:
#include<bits/stdc++.h>
using namespace std;
int a[5000000]={};
int main(){
int n,k;
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
sort(a,a+n);
printf("%d",a[k]);
return 0;
}