Gửi bài giải
Điểm:
0,30 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho một dãy ~A~ độ dài ~n~, gồm các số nguyên dương ~A_1, A_2, ..., A_n~. Một dãy số được coi là đẹp nếu như các vị trí ~i~ chẵn thì ~A_i~ là số chẵn và các vị trí ~i~ lẻ thì ~A_i~ là số lẻ. Hãy tính số phép swap nhỏ nhất để ~A~ trở thành dãy đẹp. Một phép swap là phép đổi chỗ hai phần tử liên tiếp của dãy ~A~.
Input
Dòng đầu tiên chứa một số nguyên dương ~n (n \le 10^6)~, là độ dài của dãy.
Dòng thứ hai chứa ~n~ số nguyên dương ~A_1, A_2, ..., A_n~ ~(1 \le A_i \le n)~.
Output
- Một số nguyên duy nhất là số phép swap nhỏ nhất cần để A trở thành
dãy đẹp. Nếu không tồn tại cách swap, in ra
-1
.
Sample Input 1
6
6 5 4 3 2 1
Sample Output 1
3
Note
Có ~50\%~ số test thoả mãn ~n \le 20~.
~50\%~ số test còn lại không có ràng buộc gì thêm.
Bình luận
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.