求最长上升子序列

提交数: 905, 通过率: 22.1%, 平均分: 31.4

题目描述:

设有由n个不相同的整数组成的数列,记为:b(1)、b(2)、……、b(n)且b(i)<>b(j)(i<>j),若存在i1<i2<i3< … < ie 且有b(i1)<b(i2)< … <b(ie)则称为长度为e的上升序列。程序要求,当原数列出之后,求出最长的上升序列。

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

输入格式:

有n个整数,每个整数用空格隔开。

输出格式:

输出一个整数,表示答案。

样例输入:

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

样例输出:

8

提示:

n≤100000

时间限制: 1000ms
空间限制: 256MB