蜗蜗住在一座不断施工的城市。从窗边看出去,有 座从左到右排列的山丘,第 座的高度为 。城市计划在山丘上建房:只有一座山丘严格高于它存在的每一座相邻山丘时,才能在上面建房。最左和最右的山丘分别只有一个相邻山丘。
施工队有一台挖掘机,每工作一小时,可以选择一座山丘并把高度降低 ;同一时间只能处理一座山丘。山丘可以降到 或负数,但不能增高。
对于每个 ,求使至少 座山丘能够建房的最少施工小时数。
第一行包含一个整数 ,表示山丘数量。
第二行包含 个整数 ,依次表示每座山丘的初始高度。
输出一行 个整数,以空格分隔。第 个数表示使至少 座山丘能够建房的最少小时数。
3
1 1 1
1 1
5
5 1 4 1 5
0 0 0
样例 1 中,把中间山丘从高度 降为 ,耗时 小时。此时两侧山丘都比相邻山丘高,因此建 栋或 栋房子的最少时间都是 小时。
样例 2 中,第 、第 、第 座山丘原本就严格高于各自的相邻山丘,不必施工。
对于 100% 的数据,保证 ,。