n = int(input())
arr = list(map(int,input().split()))
dp = [1]*(n+1)
for i in range(n-1,-1,-1): # 从后往前
for j in range(i+1,n): # 如果当前数小于后面的那个,那么他也会小于大于这个数的数,dp[j]记录的就是已经小的数
if arr[i] < arr[j]:
dp[i] = max(dp[i],dp[j] + 1)
print(max(dp))

京公网安备 11010502036488号