洛谷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;
}

非常的直接

相关推荐
吞下星星的少年·-·5 天前
Div.3 CF 1131A题(排序,模拟)
算法·模拟·排序
漂流瓶jz6 天前
UVA-1612 猜名次 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·题解·排序·aoapc·算法竞赛入门经典
Jasmine_llq18 天前
《P8816 [CSP-J 2022] 上升点列》
数据结构·算法·贪心·排序·二维动态规划 dp·类背包状态转移
Tisfy24 天前
LeetCode 2333.最小差值平方和:排序 + 数学计算(不用二分)
数学·算法·leetcode·题解·贪心·排序
Tisfy24 天前
LeetCode 3727.最大交替平方和:排序 (双指针可选)
算法·leetcode·题解·贪心·数组·排序
Logic1011 个月前
C语言/数据结构排序题解:三个数的最大乘积——排序后比较两种候选情况
c语言·数据结构·数组·排序·时间复杂度·算法题·负数处理
Irene19911 个月前
永洪排序失效引发的思考:数值排序 vs 文本排序,列值相同自动合并错误,完美的排序方式:ROW_NUMBER() OVER (ORDER BY 多级排序)
排序
shehuiyuelaiyuehao2 个月前
算法46,分治快排,排序数组
java·算法·排序算法·排序
Logic1012 个月前
C语言/数据结构字符串题解:找出DNA序列中未配对的独特序列——排序+遍历(O(nlogn))
c语言·数据结构·字符串·数组·排序·时间复杂度·算法题
2601_962299882 个月前
排序,然后再使用
python·排序·列表·关键函数·装饰-排序-去装饰