#YHDF1794. 最长不下降子序列(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 个数(10n1000010 \le n \le 10000); 第二行 nn 个整数,数值之间用一个空格分隔(1ain1 \le a_i \le n);

输出格式

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

样例

输入

3
1 2 3

输出

3