测试用例:
输入:
8
1 3 4 2 7 9 6 8
输出:
5
#include<stdio.h>
#include<string.h>
#define MAXN 10000
int LISLength(int num, int * seqSrc)
{
int Len[MAXN], res = 1;
for (int m = 0; m < num; m++)
{
Len[m] = 1;
for (int i = 0; i < m; ++i)
{
if (seqSrc[i]<seqSrc[m] && Len[i] + 1>Len[m])
{
Len[m] = Len[i] + 1;
}
}
res = (res > Len[m] ? res : Len[m]);
}
return res;
}
int main()
{
int n, seq[MAXN];
while (scanf("%d", &n) != EOF)
{
for (int i = 0; i < n; ++i)
{
scanf("%d", &seq[i]);
}
printf("%d\n", LISLength(n, seq));
}
return 0;
}