最水的一篇题解
注意这句话:
请尽量不要使用
nth_element
来写本题,因为本题的重点在于练习分治算法。
它说的是“尽量不要使用”,没有像P1177里面那样:
C++ 选手请不要试图使用
STL
,虽然你可以使用sort
一遍过,但是你并没有掌握快速排序算法的精髓。
所以我们还是用_更好,如果每个人都用了它,那么这题的通过率就不会那么低了。
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,k,i,a[5000000]={};
cin>>n>>k;
for(i=0;i<=n-1;i++) scanf("%d",&a[i]);
nth_element(a,a+k,a+n);
printf("%d",a[k]);
return 0;
}
//感谢题目描述,否则我都不知道有nth_element这个玩意
因为作者非常糟糕,所以若有不足请在评论区中指出。