题目描述
装修工人拿到一张施工图:走廊里从左到右立着 根柱子,第 根柱子的高度为 。
工人手里有一台「垫高机」,至多使用一次:选定一段连续的柱子 ()和一个整数 ,机器会把这段区间内每根柱子的高度变成 (只垫高、不削低)。
验收标准是:完工后从左到右每根柱子都不比前一根矮,即整排高度构成非降序列 。
请计算:为了通过验收,被垫高机作用的那段区间最短可以是多长(即最小的 )。
特别地,若施工图本身已经非降,则无需动工,答案为 。
输入格式
第一行一个整数 。
第二行 个整数 。
输出格式
输出一个整数,表示最短作用区间的长度。
样例
输入
5 1 5 3 4 6
输出
2
输入
1 7
输出
0
输入
6 2 2 2 2 2 2
输出
0
提示说明
【样例解释】
- 样例 1:垫高区间 并取 ,柱高变为 ,整排非降,答案为 。
- 样例 2:只有一根柱子,天然非降,答案为 。
- 样例 3:整排柱子已经非降,答案为 。
【数据范围】
对于全部数据,满足 ,。
| 子任务 | 测试点 | 分值 | 限制 |
|---|---|---|---|
| S1 | 1, 2 | 10 | |
| S2 | 3, 4, 5 | 15 | |
| S3 | 6, 7, 8, 9, 10 | 25 | 原序列已经非降(答案为 )或恰好只有一个下降位置 |
| S4 | 11, 12, 13, 14 | 20 | |
| S5 | 15, 16, 17, 18, 19, 20 | 30 | 无特殊限制 |
共 20 个测试点,每个测试点 5 分,合计 100 分。