import sys
n = int(sys.stdin.readline())
nums = list(map(int, sys.stdin.readline().split()))
dp = [0 for i in range(n)]
for i in range(len(nums)):
for j in range(i):
if nums[j] < nums[i]:
dp[i] = max(dp[j], dp[i])
dp[i] += 1
print(max(dp))
가장 긴 수열의 길이를 구하는 문제이다
따라서 DP 문제 임을 유추할 수 있다
(앞 요소까지 중 최대 길이 값에 자신을 붙여 +1 을 한 값)
2중 포문을 돌기때문에 O(n) = n^2 이다
한번에 돌면서 체크할 수 있는 방법을 더 고민해 봐야겠다