牛妹爱数列
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛妹正在玩一个数列
他手里有一个长度为n的序列a,保证它是一个01序列,并执行以下两种操作:
1.单点修改:将位置x上的数翻转(0变1,1变0);
2.前缀修改:将位置1~x上的数翻转(每个数都0变1,1变0)。
他现在想要最小化翻转次数,使得数列上的所有数都变为0。

输入描述:

第一行,输入一个数n。
第二行,输入n个数,第i个数表示a_i

输出描述:

输出最小翻转次数。
示例1

输入

复制
10
1 0 1 1 0 0 0 1 0 0

输出

复制
3

说明

样例解释:
第一次使用(1)操作, 把2改掉:      1 1 1 1 0 0 0 1 0 0
第二次使用(2)操作, 把1-4全部改掉: 0 0 0 0 0 0 0 1 0 0
第三次使用(1)操作, 把8改掉:      0 0 0 0 0 0 0 0 0 0

备注:

数据保证