#g6009. [GESP6级模拟题]最长序列

[GESP6级模拟题]最长序列

题目背景

学校组织一个合唱队,有 nn 个同学报名,第 ii 个同学的身高为 hih_i

老师想从中选出一部分同学组成表演队,要求选出的同学按原顺序排列时,身高是严格递增的。老师希望选出的同学尽可能多。

题目描述

给定长度为 nn 的整数序列 h[1..n]h[1..n],求它的最长严格递增子序列的长度。

子序列:原序列中删除若干元素(也可以不删)后得到的新序列,不要求连续。

输入格式

第一行一个正整数 nn

第二行 nn 个整数 h1,h2,,hnh_1, h_2, \dots, h_n

输出格式

输出一个整数,表示最长严格递增子序列的长度。

样例输入

8
10 9 2 5 3 7 101 18

样例输出

4

样例解释

最长递增子序列为 2,5,7,1012, 5, 7, 101(长度 44),也可以是 2,3,7,1012, 3, 7, 101 等。

数据范围

1n10001 \le n \le 10001hi1051 \le h_i \le 10^5