while True:
try:
n = int(input())
s = list(map(int,input().split()))
dp= [1] *n # 创建一个全为1的n列数组
for i in range(n):
for j in range(i):
if s[i]>s[j]: # 判断前一位的数字是否大于后一位的数字,如果有大于的数字,则说明还有递增的可能性,因此求dp[j]的最大值+1;如果没有比当前数字大的数,说明从当前位出发,没有再递增的可能性,所以dp[i]=1,保持不变
dp[i] = max(1+dp[j],dp[i])
print(max(dp))
except:
break

京公网安备 11010502036488号