CF1370D Odd-Even Subsequence
题目描述
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 \leq k \leq n \leq 2 \times 10^5$),分别表示数组 $a$ 的长度和子序列的长度。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 10^9$),表示数组 $a$ 的元素。
输出格式
输出一个整数,表示长度为 $k$ 的子序列的最小代价。
说明/提示
在第一个测试样例中,考虑子序列 $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 翻译