import sys
import bisect
def long_sub(n,lis):
tails = []
for num in lis:
idx = bisect.bisect_right(tails, num)
if idx == len(tails):
tails.append(num)
else:
tails[idx] = num
return len(tails)
def main():
n=int(sys.stdin.readline())
lis=list(map(int,sys.stdin.readline().split()))
res=long_sub(n,lis)
print(res)
if __name__=="__main__":
main()


京公网安备 11010502036488号