import sys; input = sys.stdin.buffer.readline sys.setrecursionlimit(10**7) from collections import defaultdict con = 10 ** 9 + 7; INF = float("inf") import bisect def LIS(N, A): DP = [INF] * N for i in range(N): x = bisect.bisect_left(DP, A[i]) DP[x] = A[i] ans = bisect.bisect_left(DP, INF) # print(DP) return ans def getlist(): return list(map(int, input().split())) #処理内容 def main(): N = int(input()) A = getlist() lis = LIS(N, A) print(N - lis) if __name__ == '__main__': main()