hpcode dừng hoạt động từ 23h59 ngày 01/09/2026.

MINIMUM STEPS

(mistep.*)

Bạn được cho số nguyên dương \(n\) và dãy số nguyên \(a_{1},a_{2},\ldots,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ố \(\lbrack 1,3,2\rbrack\) bạn có thể lấy số 3 đặt vào phía sau số 2, dãy số được chuyển thành \(\lbrack 1,2,3\rbrack\).

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 \leq n \leq 5 \times 10^{5})\)

- \(n\) dòng sau lần lượt các số nguyên \(a_{1},a_{2},\ldots,a_{n}\ (1 \leq a_{i} \leq 10^{9})\)

Dữ liệu ra:

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

Ví dụ:

Input Output
3
1 3 2
1

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

hpcode.edu.vn
Code tích cực
Trong 24h
  1. baolam_gl_500 (3/10)
  2. justawave (2/3)
  3. uia_vyvy (1/3)
Trong 7 ngày
  1. justawave (15/43)
  2. manhquan (4/8)
  3. baolam_gl_500 (3/10)
Trong 30 ngày
  1. cosu (65/163)
  2. manhquan (34/87)
  3. vo_tan_dung (29/53)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 43128

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