编程题
### 问题描述
你有一个由 `0` 和 `1` 组成的灯泡序列 $a$,其大小为 $n$。你可以执行以下操作:
- 选择两个索引 $1 \le i, j \le n$,$i \ne j$,
- 将 $a_{i}$ 加到 $a_{j}$ 上,
- 从序列 $a$ 中移除 $a_{i}$。
注意,执行一些操作后,序列 $a$ 中的元素可能会超过 `1`。同时,每次操作后序列的长度会减少 `1`。
要使得灯泡序列 $a$ 非递减(即每个元素都不小于它之前的元素),最少需要执行多少次操作?
### 输入格式
输入包含两行。
第一行包含一个整数 $n$($1 \le n \le 10^5$),表示灯泡序列 $a$ 的大小。
第二行包含 $n$ 个整数 $a_{1}, a_{2}, \ldots, a_{n}$($a_i$ 为 `0` 或 `1`),为灯泡序列 $a$ 的元素。
### 输出格式
输出一个整数,表示使灯泡序列 $a$ 非递减所需的最少操作次数。
### 样例输入
```
5
1 0 1 0 1
```
### 样例输出
```
1
```