题目描述
输入 nn(n<5000000 且 n 为奇数) 个数字
a
i
(
0
<
a
i
<
1
0
9
)
a_i(0<a_i<10^9)
ai(0<ai<109),输出这些数字的第 kk 小的数。最小的数是第 0 小。
请尽量不要使用 nth_element 来写本题,因为本题的重点在于练习分治算法。
输入格式
无
输出格式
无
输入输出样例
输入
5 1
4 3 2 1 5
输出
2
请尽量不要使用 nth_element 来写本题
nth_element 来写本题#include<bits/stdc++.h>
using namespace std;
int x[5000005],k;
int main()
{
int n;
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++)
scanf("%d",&x[i]);
nth_element(x,x+k,x+n);//简短又高效
printf("%d",x[k]);
}
最后
以上就是舒适鸡翅最近收集整理的关于P1923 【深基9.例4】求第 k 小的数——卑鄙的nth_element(x,x+k,x+n);//简短又高效请尽量不要使用 nth_element 来写本题的全部内容,更多相关P1923内容请搜索靠谱客的其他文章。
发表评论 取消回复