Computer Science/백준 알고리즘

[백준] 12738번 가장 긴 증가하는 부분 수열 3 (파이썬)

roytravel 2022. 6. 28. 23:58
import sys
from bisect import bisect_left
input = sys.stdin.readline

N = int(input())
A = list(map(int, input().split()))
stack = [-sys.maxsize]

for i in A:
    if stack[-1] < i:
        stack.append(i)
    else:
        stack[bisect_left(stack, i)] = i

print (len(stack)-1)