區間極值
給定長度為n的陣列a。並定義區間極值的條件為:\(a_i\)左右的那兩個數字(\(a_{i-1}\)和\(a_{i+1}\))必須同時大於自己或是小於自己,也就是\(a_{i}<a_{i-1} \land a_i<a_{i+1}\)或\(a_i>a_{i-1} \land a_i>a_{i+1}\) \((1<i<n)\) 。
請你幫忙找出有幾個「區間極值」。
Input
第一行輸入為\(n\)。
第二行有\(n\)個數字,分別是\(a_1, a_2, a_3 ... a_n\)。
Output
請輸出總共有幾個區間極值。
Constraints
第 \(1\) 組測資, \(n\leq10^2\), \(a_i \leq10^6\)。 \((40\text{%})\)
第 \(2\) 組測資, \(n\leq10^6\), \(a_i \leq 10^{18}\)。\((50\text{%})\)
第 \(3\) 組測資, \(n \leq 10^2\), \(a_i \leq 10^{37}\)。\((10\text{%})\)
PS: 所有數字均為自然數。
Sample Input
6
1 3 5 2 3 4
Sample Output
2
Hint:
- 因測資數量大,請善加利用
scanf(), printf()
。若使用cin
,則需要用到輸入優化。 string
和int128
是個好東西。
评论