#495. 最长上升子序列

最长上升子序列

题目描述

设有由 n(1n1000)n(1≤n≤1000) 个不相同的整数组成的数列,记为 : b(1)b(2)b(n)b(1)、b(2)、……、b(n) 若存在 i1<i2<<iei_1<i_2<…<i_e 且有 b(i1)<b(i2)<<b(ie)b(i_1)<b(i_2)<…<b(i_e) 则称为长度为 ee 的上升序列。程序要求,当原数列出之后,求出最长的上升序列。

例如 1379163824371844192122631513,7,9,16,38,24,37,18,44,19,21,22,63,15。 例中 1316181921226313,16,18,19,21,22,63 就是一个长度为 77 的上升序列,同时也有 791618192122637 ,9,16,18,19,21,22,63 组成的长度为 88 的上升序列。

输入格式

第一行包含整数 NN

第二行包含 NN 个整数,表示完整序列。

输出格式

输出一个整数,表示最大长度。

样例

输入样例:

14
13 7 9 16 38 24 37 18 44 19 21 22 63 15

输出样例:

8

数据范围与提示

1N10001≤N≤1000
109数列中的数109−10^9≤数列中的数≤10^9

相等不视作上升相等不视作上升