Point: 100.0
Time limit: 1.0s
Memory limit: 977 M
Input: stdin
Output: stdout
Author:  
Problem type
Ngôn ngữ cho phép
C#, C++

Cho dãy số \((P_1, P_2, ..., P_N)\) là hoán vị của các số nguyên từ \(1\) đến \(N.\)

Bạn hãy sắp xếp dãy số theo thứ tự tăng dần bằng cách lặp lại thao tác sau:

  • Chọn \(1\) phần tử trong dãy số và di chuyển lên vị trí đầu hoặc vị trí cuối của dãy số

Hãy tìm số thao tác ít nhất cần thực hiện để sắp xếp dãy số theo thứ tự tăng dần.

Dữ liệu

  • Dòng đầu chứa số nguyên \(N\ (1 \le N \le 2 \times 10^5)\)
  • \(N\) dòng tiếp theo, dòng thứ \(i\) chứa số nguyên \(P_i\)

Kết quả

In ra số thao tác ít nhất cần thực hiện

Ví dụ

INPUT OUTPUT
4
1
3
2
4
2

Ràng buộc

  • \(20\%\) số test có \(N \le 2 \times 10^3\)