2026-03-24 22:10:56 +09:00

22 lines
450 B
Python

N, A = int(input()), list(map(int, input().split()))
LIS = []
for a in A :
if not len(LIS) or a > LIS[-1] :
LIS.append(a)
else :
left, right = 0, len(LIS) - 1
while left < right :
mid = (left + right) // 2
if a > LIS[mid] :
left = mid + 1
else :
right = mid
LIS[left] = a
print(len(LIS))