arr.reverse()
거꾸로 정렬하는 것그러한 수열이 여러가지인 경우 아무거나 출력한다.
이게 무슨 뜻이지? = 부분 수열을 출력하라는 뜻..import sys
n = int(sys.stdin.readline())
num = list(map(int,sys.stdin.readline().split()))
dp = [1] * n
for i in range(n):
for j in range(i):
if num[i] > num[j]:
dp[i] = max(dp[i], dp[j]+1)
# 부분 수열의 길이
print(max(dp))
arr = []
m = max(dp)
for i in range(n-1,-1,-1):
if dp[i] == m:
arr.append(num[i])
m -= 1
arr.reverse()
print(*arr)