22 lines
450 B
Python
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)) |