Bedao Grand Contest 12 - ODDEVEN

Xem dạng PDF

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

Hãy đọc nội quy trước khi bình luận.



  • -4
    TLinhA5K64CBH  đã bình luận lúc 30, Tháng 3, 2023, 2:51

    Minh lo comment nham loi giai ma k biet delete o dau :v xin phep edit binh luan a


  • -16
    trongtenlinhcbhk64  đã bình luận lúc 17, Tháng 3, 2023, 4:21

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -31
    nthquan_1505  đã bình luận lúc 15, Tháng 3, 2023, 4:48

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -10
    114Tinbinhtrannguyenphuc1  đã bình luận lúc 14, Tháng 3, 2023, 4:25

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.