#include <stdio.h>
#define N 10001
int seq[N];
int dp[N];
int max_asc_len(int n)
{
int max_len = 1;
for (int i = 1; i < n; ++i) {
for (int j = 0; j < i; ++j) {
if (seq[i] > seq[j] && dp[j] + 1 > dp[i]) {
dp[i] = dp[j] + 1;
if (dp[i] > max_len) {
max_len = dp[i];
}
}
}
}
return max_len;
}
int main()
{
int n;
while (scanf("%d", &n) != EOF) {
for (int i = 0; i < n; ++i) {
scanf("%d", &seq[i]);
dp[i] = 1;
}
printf("%d\n", max_asc_len(n));
}
return 0;
}
原文:https://www.cnblogs.com/idlezero/p/pastebin.html