46.21m
import sys
input = sys.stdin.readline
n = int(input().rstrip())
cards = list(map(int, input().rstrip().split()))
dp = [0] * n
dp[0] = 1
for i in range(1, n):
temp = 0
for j in range(n - 1, -1, -1):
if cards[j] < cards[i]:
temp = max(temp, dp[j])
dp[i] = temp + 1
print(max(dp))
아니 진짜 너무 당연한 DP문젠데 백트래킹으로 풀고있었다 하아
요 며칠 DP 안풀고 다른 알고리즘 풀었다고 벌써 까먹는거 보고 소름돋았다
오늘 디피해야겠다....