ISSC
2020年的ISSC是垃圾比賽
原因是第\(9\)題是一題很多條件的閱讀題(而且還很不清楚又很矛盾)
因為原題太難太麻煩,所以本題只取其題敘精隨(不過跟原題也沒多少關係)
給定一個長度為\(n\)的陣列\(a_1,a_2,...,a_n\)
請問分別有幾個山峰(Peak)、山谷(Valley)和高原(Plateau)
以下是這三種東西的定義:
\(i\)是一個山峰,若且唯若\(a_{i-1}<a_i\)且\(a_i>a_{i+1}\)
\(i\)是一個山谷,若且唯若\(a_{i-1}>a_i\)且\(a_i<a_{i+1}\)
\(i\)是一個高原,若且唯若\(a_{i-1}=a_i\)且\(a_i=a_{i+1}\)
注意到\(1\)和\(n\)不可能是山峰、山谷、高原
因為\(1\)左邊沒東西,\(n\)右邊沒東西
Input
輸入的第一行只有一個正整數\(n\)。
輸入的第二行有\(n\)個整數\(a_1,a_2,...,a_n\)。
\(1\le n\le10^{6},-10^9\le a_i\le10^9\)
Output
輸出三個整數,依序代表山峰、山谷、高原的數量
Constraints
第 \(1\) 組測資 \(10\) 分:範例測資。
第 \(2\) 組測資 \(10\) 分:\(n\le3\)。
第 \(3\) 組測資 \(40\) 分:\(n\le1000\)。
第 \(4\) 組測資 \(40\) 分:無特別限制。
Sample Input 1
3
1 3 2
Sample Output 1
1 0 0
Sample Input 2
10
5 0 9 7 7 7 8 4 6 3
Sample Output 2
3 2 1
评论