# Process input
n = int(input())
arr = list(map(int, input().split()))
# DP
# 阶段:起点为i,终点为j
# 状态:从i到j走过的最大梅花桩数量
dp = [1] * n
for j in range(n):
for i in range(j):
if arr[i] < arr[j]:
dp[j] = max(dp[j], dp[i]+1)
# Output
print(max(dp))



京公网安备 11010502036488号