728x90
# 가장 긴 감소하는 부분 수열 
 
# 가장 긴 증가하는 부분 수열을 반대로만 작성하면 풀리는 문제이다. 풀이는 암기가 되었는데
# 확실하게 과정을 이해를 해야겠다.
 
 
from collections import deque
 
 
n = int(input())
 
k = list(map(int,input().split(" ")))
 
dp = [1]*(n+1)
 
 
 
for i in range(1,len(dp)-1):
    for j in range(0,i):
 
        if k[i]<k[j]:
 
            dp[i] = max(dp[j]+1,dp[i])
 
 
print(max(dp))
728x90

+ Recent posts