#P5305. 杀手游戏

杀手游戏

题目描述

小 F 在玩一个杀手游戏,在某一关的走廊里,有 nn 个守卫正在站岗,他们站成了一排,我们可以从左到右把他们编号为 1,2,,n1,2,\ldots ,n 号守卫。

ii 个守卫守卫要么向左看,看向 1,2,,i11,2,\ldots ,i-1 号守卫,要么向右看,看向 i+1,i+2,,ni+1,i+2,\ldots ,n 号守卫。

小 F 正在束手无策的时候,她突然发现即使从守卫眼前跑过去守卫也没有反应,原来是游戏出 bug 了。

小 F 觉得很没意思,她现在就算当着其他守卫的面杀掉一个守卫,那些守卫也没有反应。

于是她开始思考一个问题,每次她杀掉一个守卫的时候,都有一些活着的守卫看到了。

她希望找到一个杀掉守卫的次序,使得被看到的总次数尽可能少(假设杀掉某个守卫的时候被 kk 个守卫看到了,那么要算 kk 次)。

输入格式

第一行一个整数 nn

第二行 nn 个整数 a1,a2,,ana_1,a_2,\ldots ,a_n (ai{0,1}a_i\in \{0,1\}) , ai=0a_i=0 表示第 ii 个守卫正在向左看,否则表示向右看。

输出格式

输出最小的被看到的总次数。

样例 1 输入

4
0 1 1 0

样例 1 输出

2

样例 1 解释

先杀掉守卫 4 ,被守卫 2, 3 看到。

再按顺序杀掉守卫 1, 2, 3 ,过程中不会被其他守卫看到。

样例 2 输入

assassin2.in

样例 2 输出

assassin2.out

数据范围

对于 20%20\% 的数据, n10n\leq 10

对于 40%40\% 的数据, n50n\leq 50

对于 60%60\% 的数据, n2000n\leq 2000

对于 100%100\% 的数据, n2×105n\leq 2\times 10^5