백준 12015 - 가장 긴 증가하는 부분 수열 2 (파이썬)
Updated:
Answer
import sys
n = int(sys.stdin.readline())
a = list(map(int, sys.stdin.readline().split()))
b = [0]
for i in a:
if b[-1] < i:
b.append(i)
else:
s = 0
e = len(b)
while s < e:
m = (s + e) // 2
if b[m] < i:
s = m + 1
else:
e = m
b[e] = i
print(len(b) - 1)