#24. 最长非严格上升子序列

最长非严格上升子序列

问题描述

给定一个长度为 nn 的整数序列 aa,请你计算该序列的最长非严格上升子序列的长度。

一个子序列是指从序列中删除若干个元素(也可以不删除)后剩下的元素按原顺序排列所构成的序列。非严格递增子序列指子序列中的元素满足每个后继元素都不小于前面的元素。

输入格式

第一行输入一个正整数 nn,表示序列的长度。(1n2×105)(1 \leq n \leq 2 \times 10^5)

第二行输入 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n,表示序列中的数字。(1ai105)(1 \leq a_i \leq 10^5)

输出格式

输出一个正整数,表示该序列的最长非严格上升子序列的长度。

样例输入

7
9 9 2 4 1 10 10

样例输出

4

提示

对于样例输入,最长非严格上升子序列为 2 4 10 10,其长度为 4。