给出一个有n个整数的数组 a1, a2, ..., an 和一个整数k。你被要求把这个数组分成k 个非空的子段。 然后从每个k 个子段拿出最小值,再从这些最小值中拿出最大值。求这个最大值最大能为多少?
Input
第一行输入两个整数 n 和 k (1 ≤ k ≤ n ≤ 105) — 数组a 的大小和要求分成子段的数目
第二行包含 n 整数 a1, a2, ..., an ( - 109 ≤ ai ≤ 109).
Output
输出答案——在你分离的每个子段中最小值中的最大值k
Example
Input
5 2 1 2 3 4 5
Output
5
Input
5 1 -4 -5 -3 -2 -1
Output
-5
题解:
找规律题。如果k等于1,直接输出最小。k大于等于3,可以把一个字段分给最大的那个值,从而使结果最大,因此输出序列中最大的值。k等于2时是难点,因为子段为2时,必须是连续的,所以分开的两个子段,必须是分别至少包括左右两边界。比较两边界,输出最大值即可。