#882. 河堤石块的平缓排列

河堤石块的平缓排列

河堤石块的平缓排列

题目描述

在一条大河边,人们用石块加固河堤,第 ii 块石头的高度记为一个整数 hih_i。洪水季节即将来临,工匠希望从中挑出一些石块,作为“示范河段”。

在这段示范河段中,石块必须按照在河堤上的原始顺序摆放,并且后面的石块高度不能低于前面石块的高度。也就是说,如果选择了若干块石头 i1<i2<<iki_1<i_2<\dots<i_k,那么需要满足

hi1hi2hik.h_{i_1} \le h_{i_2} \le \dots \le h_{i_k}.

请你计算:在给定的石块高度记录中,最多能选出多少块石头,构成这样一段“高度不下降”的示范河段。

输入格式

输入共两行。

  • 第一行包含一个整数 nn,表示河堤上石块的数量。
  • 第二行包含 nn 个整数 h1,h2,,hnh_1,h_2,\dots,h_n,依次表示每块石头的高度,整数之间用一个空格分隔。

输出格式

输出一行,一个整数,表示可以选出的石块最大数量。

输入输出样例 #1

输入 #1

7
2 2 1 3 3 3 4

输出 #1

6

样例解释 #1

例如可以选择第 1,2,4,5,6,71,2,4,5,6,7 块石头,高度序列为 2,2,3,3,3,42,2,3,3,3,4,是一个高度不下降的序列,长度为 66。可以证明不存在更长的选择方式。

数据范围

对于所有测试数据,保证:

  • 1n2000001 \le n \le 200000
  • 对于所有 1in1 \le i \le n,有 1hi1091 \le h_i \le 10^9