Bedao Grand Contest 12 - ODDEVEN

View as PDF

Submit solution


Points: 0.30 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
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.


Comments

Please read the guidelines before commenting.