单点时限: 2.0 sec
内存限制: 512 MB
给定长度为$n$的序列,求最长子序列$p_1,…,p_m$满足:存在$k,0 \leq k \leq m$使得
$p_1 < p_2 < … < p_k > p_{k+1} > … > p_m$(单调增和单调减的序列都满足条件)。
样例中最长分峰序列为1 2 3 1,长度为4。
第一行一个数$n$,表示序列长度。
接下来一行$n$个数$a_i$,表示序列中的数。
数列中可以存在重复元素。
一个数表示最长单峰序列的长度。
5 1 2 3 1 1
4
7 4 1 1 5 6 1 1
4
对于$30\%$数据满足:$1 \leq n \leq 23$。
对于$50\%$数据满足:$1 \leq n \leq 800$。
对于$70\%$数据满足:$1 \leq n \leq 5 \times 10^3$。
对于$100\%$数据满足:$1 \leq n \leq 10^6,1 \leq a_i \leq 10^6$。