洛谷P1923 【深基9.例4】求第 k 小的数

P1923 【深基9.例4】求第 k 小的数

题目描述

输入 n n n( 1 ≤ n < 5000000 1 \le n < 5000000 1≤n<5000000 且 n n n 为奇数)个数字 a i a_i ai( 1 ≤ a i < 10 9 1 \le a_i < {10}^9 1≤ai<109),输出这些数字的第 k k k 小的数。最小的数是第 0 0 0 小。

请尽量不要使用 nth_element 来写本题,因为本题的重点在于练习分治算法。

输入格式

第一行有两个整数,分别表示 n n n 和 k k k。

第二行有 n n n 个整数,第 i i i 个数表示 a i a_i ai。

输出格式

一个整数,表示第 k k k 小的数。

输入输出样例 #1

输入 #1

复制代码
5 1
4 3 2 1 5

输出 #1

复制代码
2
cpp 复制代码
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
int n,k;
int main()
{
	scanf("%d%d",&n,&k);
	int tmp;
	vector<int> a;
	for(int i=1;i<=n;++i)
	{
		scanf("%d",&tmp);
		a.push_back(tmp);
	}
	nth_element(a.begin(),a.begin()+k,a.end());
	printf("%d",a[k]);
	return 0;
}

非常的直接

相关推荐
hairenwangmiao7 天前
c++排序(第一章----桶排序与sort排序)
数据结构·c++·排序
hairenwangmiao8 天前
B4041 [GESP202409 四级] 区间排序
算法·排序
csdn_aspnet15 天前
C# list集合 多属性排序
c#·list·linq·排序
8Qi817 天前
LeetCode 75:颜色分类(荷兰国旗问题)—— Java 题解 ✅
java·算法·leetcode·指针·排序
Misnearch18 天前
3635. 最早完成陆地和水上游乐设施的时间II
leetcode·贪心·排序
Dlrb12111 个月前
数据结构-单链表与双链表
c语言·数据结构·链表·排序·双链表
郝学胜-神的一滴1 个月前
干货版《算法导论》05:从集合接口到排序
开发语言·数据结构·c++·程序人生·算法·排序
汉克老师1 个月前
GESP5级C++考试语法知识(十四、分治算法(一))
算法·归并排序·排序·分治算法·gesp5级·gesp五级
汉克老师2 个月前
GESP2025年3月认证C++五级( 第三部分编程题(1、平均分配))
c++·算法·贪心算法·排序·gesp5级·gesp五级
Irene19912 个月前
数据排序为什么默认升序
算法·排序