atcoder#ARC098C. [ARC098E] Range Minimum Queries
[ARC098E] Range Minimum Queries
题目描述
長さ の数列 と整数 が与えられます。 この配列に、以下の操作を 回行います。
- 長さ の連続する部分列を つ選ぶ。 そして、選んだ部分列に含まれる 個の要素のうち最小のもの(複数ある場合はその中で好きなものを 個)を取り除く。
回の操作で取り除いた要素の最大値、最小値をそれぞれ , としたときに、 をできるだけ小さくしたいです。 回の操作を適切に行ったときの の最小値を求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
の最小値を出力せよ。
题目大意
题目描述
你有一个长度为 的整数序列 ,以及一个整数 。你会进行 次操作,一次操作如下:
- 选择序列中一个长度为 的区间,并且删除区间中的最小元素。如果有多个,你可以选择任何一个。
现在,设 是你删除了的元素中最大的一个, 是最小的一个,请找出在最优情况下, 的最小值。
输入格式
请从标准输入中读入:
输出格式
请输出 可能的最小值。
限制
- 输入都是整数
5 3 2
4 3 1 5 2
1
10 1 6
1 1 2 3 5 8 13 21 34 55
7
11 7 5
24979445 861648772 623690081 433933447 476190629 262703497 211047202 971407775 628894325 731963982 822804784
451211184
提示
制約
- 入力はすべて整数である
Sample Explanation 1
回目の操作では、どの長さ の連続する部分列を選んでも、そのうち最小の要素は です。 よって、 回目の操作によって が取り除かれ、 となります。 回目の操作では、連続する長さ の部分列として、 を選び、 を取り除くのが最適です。 この場合、取り除いた要素の最大値は 、最小値は になるので、その差は になります。