import sys
from bisect import bisect_left
input = sys.stdin.readline
N = int(input())
A = list(map(int, input().split()))
stack = [0]
for i in A:
if stack[-1] < i:
stack.append(i)
else:
stack[bisect_left(stack, i)] = i
print (len(stack)-1)
'Computer Science > 백준 알고리즘' 카테고리의 다른 글
[백준] 12904번 A와 B (파이썬) (0) | 2022.06.28 |
---|---|
[백준] 12738번 가장 긴 증가하는 부분 수열 3 (파이썬) (0) | 2022.06.28 |
[백준] 11727번 2xn 타일링 2 (파이썬) (0) | 2022.06.28 |
[백준] 11726번 2xn 타일링 (파이썬) (0) | 2022.06.28 |
[백준] 11723번 집합 (파이썬) (0) | 2022.06.28 |