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

非常的直接

相关推荐
Alfred king3 小时前
面试150 IPO
面试·职场和发展·贪心·数组··排序
今天背单词了吗9806 天前
算法学习笔记:29.拓扑排序——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·笔记·算法·拓扑排序·排序
NuyoahC7 天前
HOT100——排序篇Leetcode215. 数组中的第K个最大元素
c++·leetcode·排序算法·排序
初级代码游戏17 天前
WinUI3入门16:Order自定义排序
自定义·排序·order·winui3
G皮T21 天前
【Elasticsearch】检索排序 & 分页
大数据·elasticsearch·搜索引擎·排序·分页·检索·深度分页
T.Ree.2 个月前
【数据结构】_排序
数据结构·算法·排序算法·排序
laufing2 个月前
OD 算法题 B卷【比赛】
数据结构·排序·逻辑分析
Tipriest_2 个月前
【C++20新特性】ranges::sort()使用方法,优势,注意点
算法·leetcode·c++20·排序·sort
阳洞洞2 个月前
leetcode 148. Sort List
leetcode·链表·归并排序·递归·排序