U281878 连续的 1

题目背景

2022 浙大计算机考研机试模拟赛[第二题](https://sunnywhy.com/contest/2/problem/B)

题目描述

给定一个长度为 $n$ 的仅由 $0$ 和 $1$ 组成的整数序列,每次操作可以将一个任意位置的 $1$ 与一个任意位置的 $0$ 交换,问使序列中所有 $1$ 都在连续区间的最少操作次数

输入格式

第一行为一个正整数 $n~(1 \le n \le 10^5)$,表示整数序列的长度; 第二行为 $n$ 个整数 $a_i~(a_i \in \{0, 1\})$,表示整数序列

输出格式

一个整数,表示最少操作次数

说明/提示

### 样例 1 解释 将第二个元素 `0` 与第五个元素 `1` 交换,可以得到新序列 `1 1 1 0 0`,此时所有的 `1` 处于连续区间,因此最少操作次数为 $1$ ### 样例 2 解释 由于序列中只有一个 `1`,因此所有的 `1` 已经处于连续区间,最少操作次数为 $0$ ### 样例 3 解释 1. 将第一个元素 `1` 与第三个元素 `0` 交换,可以得到新序列 `0 0 1 1 1 0 1`; 1. 再将第六个元素 `0` 与第八个元素 `1` 交换,可以得到新序列 `0 0 1 1 1 1 0 0` 此时所有的 `1` 处于连续区间,因此最少操作次数为 $2$