USACO 2019 - Balancing Inversions
Xem PDFBessie và Elsie đang chơi một trò chơi trên mảng Boolean \(A\) có độ dài \(2N\) (\(1 \leq N \leq 10^5\)). Điểm của Bessie là số nghịch thế trong nửa đầu của \(A\), còn điểm của Elsie là số nghịch thế trong nửa sau của \(A\). Một nghịch thế là một cặp phần tử \(A[i]=1\) và \(A[j]=0\) với \(i<j\). Ví dụ, một mảng gồm một đoạn toàn số 0 theo sau bởi một đoạn toàn số 1 không có nghịch thế nào, còn một mảng gồm một đoạn có \(X\) số 1 theo sau bởi một đoạn có \(Y\) số 0 thì có \(XY\) nghịch thế.
Farmer John tình cờ bắt gặp bàn chơi và tò mò muốn biết số lần đổi chỗ hai phần tử kề nhau ít nhất cần thực hiện để trò chơi trông như đã hòa. Hãy giúp Farmer John tìm câu trả lời cho câu hỏi này.
Dữ liệu vào
Dòng đầu tiên chứa \(N\), và dòng tiếp theo chứa \(2N\) số nguyên, mỗi số bằng 0 hoặc 1.
Dữ liệu ra
In ra số lần đổi chỗ hai phần tử kề nhau cần thiết để trò chơi hòa.
Ví dụ
Ví dụ 1
Input
5
0 0 0 1 0 1 0 0 0 1
Output
1
Giải thích
Trong ví dụ này, ban đầu nửa đầu của mảng có \(1\) nghịch thế, còn nửa sau có \(3\) nghịch thế. Sau khi đổi chỗ bit thứ \(5\) và bit thứ \(6\) cho nhau, cả hai mảng con đều có \(0\) nghịch thế.
Nguồn
USACO 2019 US Open Contest, Gold — Balancing Inversions
Tác giả: Dhruv Rohatgi.
Kỳ thi:
- USACO 2019 - US Open - Hạng Vàng (1 Tháng tư, 2019)
Bình luận