智乃爬山
题号:NC288383
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}对于由 n 个整数构成的数组 \{a_1,a_2,\dots,a_n\},从它的第二个元素开始,一直到它的倒数第二个元素为止,若存在 a_{i-1}<a_ia_i>a_{i+1} 成立,则称该位置是一个“山峰”,且该山峰的高度记作:

\displaystyle h_i=a_{i}-\left\lfloor\frac{a_{i-1}+a_{i+1}}{2}\right\rfloor

\hspace{15pt}现在,请帮智乃找出高度最高的山峰,并告诉她山峰的高度是多少。特别的,如果整个数组都不存在任何一个山峰,则输出 -1 表示无解。

输入描述:

\hspace{15pt}第一行输入一个正整数 n \left (1\leq n \leq 10^5\right) 代表数组中的元素数量。 
\hspace{15pt}第二行输入 n 个正整数 a_1,a_2,\dots,a_n \left (1\leq a_i \leq 10^9\right) 代表数组中的元素。

输出描述:

\hspace{15pt}如果不存在任何一个山峰,直接输出 -1;否则,输出一个整数,代表高度最高山峰的高度。
示例1

输入

复制
5
14 15 1 10 1

输出

复制
9

说明

\hspace{15pt}在这个样例中,一共存在两个山峰:
\hspace{23pt}\bullet\,h_2 = 15 - \left\lfloor\tfrac{14+1}{2}\right\rfloor = 15 - 7 = 8
\hspace{23pt}\bullet\,h_4 = 10 - \left\lfloor\tfrac{1+1}{2}\right\rfloor = 10 - 1 = 9
\hspace{15pt}所以,高度最高的山峰的高度为 9
示例2

输入

复制
5
1 2 3 4 5

输出

复制
-1

说明

\hspace{15pt}在这个样例中,数组中不存在任何一个山峰,所以输出 -1