if __name__ == '__main__':
dp = [0] * 1000050
n = int(input())
a = list(map(int, input().split()))
ans = 1
for i in range(n):
dp[i] = 1 #若找不到前面数字小于自己,就为自身,长度为1,注不初始化的话就dp[0]就少了1,其他dp[]项也是,所以结果要加1.
for j in range(0, i):
if(a[j]<a[i]): dp[i]=max(dp[i],dp[j]+1)
ans= max(ans,dp[i])
print(ans)
或者进阶:
dp = [1] * (length) #length和上述n一样
"""
for i in range(1, length):
for j in range(i):
if a[i] > a[j]:
dp[i] = max(dp[i], dp[j] + 1)
"""
print(max(dp))