seven7777 @ 2021-02-20 18:39:30
#include<bits/stdc++.h>
using namespace std;
int a[500005]={0};
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]<<endl;
return 0;
}
by _caiji_ @ 2021-02-20 18:43:29
卡常,吸氧,能过,不过还是建议不用 sort,练习一下分治。
by justinjia @ 2021-02-20 18:53:17
@seven7777 @caijianhong 这题的考点在于快排每次只排一半(根据
by CGDGAD @ 2021-02-20 18:53:48
sort
-> nth_element
by 123456zmy @ 2021-02-20 19:03:24
数组大小少了一个0(
另外不建议 int a[500005]={0};
,全局变量默认是 0,并且这么写会让可执行文件大小爆炸
by _caiji_ @ 2021-02-20 19:13:51
@justinjia 这就是分治
by justinjia @ 2021-02-20 20:14:31
@NSObject
请尽量不要使用
nth_element
来写本题,因为本题的重点在于练习分治算法。
请问您有没有看见这句话
by justinjia @ 2021-02-20 20:15:08
@caijianhong #pragma GCC optimize(3)