from bisect import bisect_left n = int(input()) A = list(map(int,input().split())) def lis(A: list): L = [A[0]] for a in A[1:]: if a > L[-1]: # Lの末尾よりaが大きければ増加部分列を延長できる L.append(a) else: # そうでなければ、「aより小さい最大要素の次」をaにする # 該当位置は、二分探索で特定できる L[bisect_left(L, a)] = a return len(L) # ----------------------------------------- print(n-lis(A))