题目描述
Ashish 有一个大小为 n 的数组 a。
数组 a 的一个子序列被定义为:可以通过删除 a 中的某些元素(可以不删),且不改变剩余元素的顺序得到的序列。
考虑 a 的一个子序列 s。他定义 s 的代价为以下两者的较小值:
- s 中所有奇数位置元素的最大值。
- s 中所有偶数位置元素的最大值。
注意,这里的位置指的是 s 中的下标,而不是 a 中的下标。位置从 1 开始编号。因此,s 的代价为 $\min(\max(s_1, s_3, s_5, \ldots), \max(s_2, s_4, s_6, \ldots))$。
例如,{7,5,6} 的代价为 min(max(7,6),max(5))=min(7,5)=5。
请你帮助他找到长度为 k 的子序列的最小代价。
输入格式
第一行包含两个整数 n 和 k(2≤k≤n≤2×105),分别表示数组 a 的长度和子序列的长度。
第二行包含 n 个整数 a1,a2,…,an,表示数组 a 的元素。
输出格式
输出一个整数,表示长度为 k 的子序列的最小代价。
4 2
1 2 3 4
1
4 3
1 2 3 4
2
5 3
5 3 4 2 6
2
6 4
5 3 50 2 4 5
3
说明 / 提示
在第一个测试样例中,考虑子序列 s={1,3},此时代价为 min(max(1),max(3))=1。
在第二个测试样例中,考虑子序列 s={1,2,4},此时代价为 min(max(1,4),max(2))=2。
在第四个测试样例中,考虑子序列 s={3,50,2,4},此时代价为 min(max(3,2),max(50,4))=3。
由 ChatGPT 4.1 翻译
数据范围
(1≤ai≤109)