import sys
A = int(sys.stdin.readline().strip())
data = list(map(int, sys.stdin.readline().split()))
check = [1] * A
for i in range(A-1, -1, -1):
for j in range(i-1, -1, -1):
if data[i] > data[j] and check[i] >= check[j]:
check[j] += 1
key = max(check)
print(key)
for i in range(A):
if check[i] == key:
print(data[i], end=' ')
key -= 1
'파이썬 코테 준비' 카테고리의 다른 글
[백준 9252] LCS 2 - Python(파이썬) (0) | 2021.04.03 |
---|---|
[백준 14003] 가장 긴 증가하는 부분 수열 5 - Python(파이썬) (0) | 2021.04.03 |
[백준 1644] 소수의 연속합 - Python(파이썬) (0) | 2021.04.03 |
[백준 1806] 부분합 - Python(파이썬) (0) | 2021.03.31 |
[백준 1305] 광고 - Python(파이썬) (0) | 2021.03.31 |
댓글