Điểm:
1900 (p)
Thời gian:
1.0s
Bộ nhớ:
512M
Input:
bàn phím
Output:
màn hình
Cho trước một mảng gồm \(n\) số nguyên phân biệt. Tại mỗi lượt, bạn có thể đảo vị trí của hai phần tử kề nhau.
Bạn muốn biến đổi mảng này thành dạng kim tự tháp. Nghĩa là mảng kết quả đầu tiên phải tăng dần, và sau đó giảm dần. Cho phép mảng cuối cùng chỉ tăng hoặc chỉ giảm.
Số lượng lượt đi tối thiểu là bao nhiêu?
Input
- Dòng đầu vào đầu tiên chứa \(n\): kích thước của mảng.
- Dòng tiếp theo chứa \(n\) số nguyên phân biệt \(x_1, x_2, \dots, x_n\): nội dung của mảng.
Output
- In một số nguyên: số lượng nước đi tối thiểu.
Constraints
- \(1 \leq n \leq 2 \cdot 10^5\)
- \(1 \leq x_i \leq 10^9\)
Example
Sample input:
4
2 1 5 3
Sample output:
1
Note
Bạn có thể đổi chỗ hai phần tử đầu tiên, tạo nên mảng hình "kim" \([1,2,5,3]\)
Bình luận
CSES - Pyramid Array | Mảng kim tự tháp
Cho một mảng gồm \(n\) số nguyên phân biệt. Tại mỗi lượt, bạn có thể tráo vị trí của hai số kề nhau.
Bạn phải biến đổi mảng ban đầu thành mảng kim tự tháp. Tức mảng kết quả đầu tiên phải tăng dần và sau đó giảm dần. Mảng kết quả chỉ tăng hoặc chỉ giảm cũng được chấp nhận.
Số lượt đi cần thiết tối thiểu là bao nhiêu?
Input
Output
Test 1
Input
Output
Note
Bạn có thể tráo hai phần tử đầu tiên và được mảng kết quả là \([1,2,5,3]\).