def find_LIS_length(sequence): from bisect import bisect_left LIS = [] for value in sequence: pos = bisect_left(LIS, value) if pos == len(LIS): LIS.append(value) else: LIS[pos] = value return len(LIS) def minimum_operations_to_strictly_increasing(N, ratings): # ratingsは1からNまでの順列であるため、直接LISを求める return N - find_LIS_length(ratings) # 入力 N = int(input()) ratings = list(map(int, input().split())) # 出力 print(minimum_operations_to_strictly_increasing(N, ratings))