Bedao Grand Contest 12 - ODDEVEN
Xem dạng PDF
Gửi bài giải
Điểm:
0,24 (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.
Đang tải...