MINIMUM STEPS

Bạn được cho số nguyên dương ~ n ~ và dãy số nguyên ~ a_1, a_2,…,a_n ~. Trong mỗi bước bạn cần lấy một phần tử ở vị trí bất kỳ và đặt nó vào trước hoặc sau một phần tử khác. Ví dụ cho dãy số ~ [1,3,2] ~ bạn có thể lấy số 3 đặt vào phía sau số 2, dãy số được chuyển thành ~ [1,2,3] ~.

Yêu cầu: Hãy thực hiện ít bước nhất sao cho dãy số trở thành dãy tăng hoặc giảm.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên dương ~ n ~ ~ ( 1 ≤ n ≤ 5 × 10^5 ) ~
  • ~ n ~ dòng sau lần lượt các số nguyên ~ a_1, a_2, …,a_n ~ ~ ( 1 ≤ a_i ≤ 10^9 ) ~

Kết quả

Một số nguyên duy nhất cho biết kết quả của bài toán.

Ví dụ:

Input 1

3
1 3 2 

Output 1

1 

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. quocchinh96bl (9/16)
  2. tgtam2022 (2/5)
  3. hoangngan0408 (1/5)
Trong 7 ngày
  1. quocchinh96bl (12/21)
  2. caubeioi (12/25)
  3. tribinh (11/13)
Trong 30 ngày
  1. caubeioi (174/287)
  2. nhatanh (94/132)
  3. hanngocdat (91/213)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38250

Lưu Hải Phong - 2020
[email protected]