#P1794. 最长不下降子序列(LIS)

最长不下降子序列(LIS)

题目描述

设有由 nn 个不相同的整数组成的数列,记为: a1a_1a2a_2\dotsana_naiaja_i \neq a_j (iji \neq j)。

例如 331818771414101012122323414116162424

若存在 i1<i2<i3<<iei_1 \lt i_2 \lt i_3 \lt \dots \lt i_e 且有 aai1i1<a\lt ai2i2<<a\lt \dots \lt aieie,则称为长度为 ee 的不下降序列。

如上例中 33181823232424 就是一个长度为 44 的不下降序列,同时也有 33771010121216162424 长度为 66 的不下降序列。

程序要求,当原数列给出之后,求出最长的不下降序列。

输入

第一行为 nn ,表示 nn 个数 (10n10000)(10 \le n \le 10000)

第二行 nn 个整数,数值之间用一个空格分隔 (1ain)(1 \le a_i \le n)

输出

最长不下降子序列的长度。

样例

3
1 2 3
3

来源

动态规划