{"code":"swap01","name":"Biến đổi dãy nhị phân","description":"Cho dãy số $a_1, a_2, ..., a_n$, trong đó $a_i = 0$ hoặc $1$. Mỗi thao tác, bạn được chọn hai số kề nhau và hoán đổi chúng. Hãy tìm số thao tác ít nhất để sắp xếp dãy $a$ tăng dần.\r\n\r\nVí dụ, $a = [1, 0, 0]$. Chúng ta cần 2 thao tác. \r\n+ Thao tác 1: Hoán đổi $a_1$ và $a_2$. $a = [0, 1, 0]$.\r\n+ Thao tác 2: Hoán đổi $a_2$ và $a_3$. $a = [0, 0, 1]$. Lúc này dãy $a$ đã được sắp xếp tăng dần. \r\n\r\n<h4>Input</h4>\r\n\r\n+ Dòng đầu chứa một số tự nhiên $n$, độ dài của dãy. $(1 \\leq n \\leq 5 * 10^5)$\r\n+ Dòng thứ hai chứa $n$ số tự nhiên $a_1, a_2, ..., a_n \\ (0 \\leq a_i \\leq 1)$\r\n\r\n<h4>Output</h4>\r\n\r\n- In ra một số tự nhiên là số thao tác ít nhất cần sử dụng\r\n\r\n<h4>Scoring</h4>\r\n\r\n+ Subtask $1$ ($30\\%$ số điểm): $n \\leq 10$\r\n+ Subtask $2$ ($30\\%$ số điểm): $n \\leq 1000$\r\n+ Subtask $3$ ($40\\%$ số điểm): $n \\leq 5 * 10^5$\r\n\r\n<h4>Example</h4>\r\n\r\n!!! question \"Test 1\"\r\n\r\n    ???+ \"Input\"\r\n        ```sample\r\n        3\r\n        1 0 0\r\n        ```\r\n    \r\n    ???+ success \"Output\"\r\n        ```sample\r\n        2\r\n        ```\r\n    \r\n!!! question \"Test 2\"\r\n\r\n    ???+ \"Input\"\r\n        ```sample\r\n        4\r\n        0 0 1 1\r\n        ```\r\n    \r\n    ???+ success \"Output\"\r\n        ```sample\r\n        0\r\n        ```","points":200.0,"partial":false,"time_limit":1.0,"memory_limit":262144,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}