1차
import sys
input = sys.stdin.readline
n = int(input())
box_list = list(map(int, input().split()))
dp = [0] * n
dp[0] = 1
for i in range(1, n):
# 자신의 앞에 있는 box들을 역순으로 조회한다.
for j in range(i, -1, -1):
# 자기보다 작으면 +1하고 break
if box_list[i] > box_list[j] and dp[i] <= dp[j]:
dp[i] = dp[j] + 1
else:
pass
# 다 돌았는데도 자신보다 작은게 없으면 1을 줘야한다.
if dp[i] == 0:
dp[i] = 1
print(max(dp))
2차 불필요한 코드 제거
import sys
input = sys.stdin.readline
n = int(input())
box_list = list(map(int, input().split()))
dp = [1] * n
for i in range(1, n):
# 자신의 앞에 있는 box들을 역순으로 조회한다.
for j in range(i, -1, -1):
# 자기보다 작으면 +1하고 break
if box_list[i] > box_list[j] and dp[i] <= dp[j]:
dp[i] = dp[j] + 1
print(max(dp))