#P10552. 最长上升子序列

最长上升子序列

题目描述

智智在做数学题目的时候,遇到这样的一道题:
有一个数的序列 b1, b2, ..., bm,当 b1 < b2 < ... < bm 时,我们称这个序列是上升的

对于给定的一个序列(a1, a2, ..., an),我们可以得到一些上升的子序列 (ai1, ai2, ..., aip),其中 1 ≤ i1 < i2 < ... < ip ≤ N。

例如,对于序列 (1, 6, 3, 5, 8, 4, 7) 的一些上升子序列有 (1, 6),(3, 4, 7) 等等。
这些子序列中最长的长度是 4,比如子序列 (1, 3, 5, 8)。

你的任务,就是对于给定的序列,求出最长上升子序列的长度。

输入格式

  • 第一行:一个整数 N (1 ≤ N ≤ 1000),表示序列的长度。
  • 第二行:包含 N个整数,表示序列中的元素。
    每个整数的范围在 [0, 10000]。

输出格式

  • 输出一行,表示最长上升子序列的长度。

输入样例 #1

20
3 82 70 44 63 20 17 22 8 53 11 98 61 59 2 4 94 30 41 100

输出样例 #1

7