9Cirno的计算机

9Cirno的计算机

题目描述

AKIOI OJ线下面基活动就要开始了,9Cirno为了在其他管理员面前展示自己高超(大虚)的技术力,她自己做了一个建议的字节计算机。这个计算机可以对一个只有 \(-1, 0, 1\) 的数列进行操作。

具体的操作是这样的:对于一个数列 \(a\),该计算器可以取一个数 \(i\) (\(1 \leq i \leq n\)),然后使 \(a_{i - 1} + a_i \rightarrow a_i\)。

9Cirno想要利用这个计算机将一个数列 \(a\)(\(a_i \in \{-1, 0, 1\}\)),通过若干次操作,使得该数列单调不降。

现在,由于9Cirno不屑于( 绝对不是因为不会 )做这么简单的计算机,她决定让你来替她实现这个计算机的功能。

输入输出格式

输入格式

输入共两行。

第一行一个正整数 \(n\),表示数列的长度。

第二行包含 \(n\),表示数列 \(a\),保证满足对于任意 \(i \in [1, n], a_i \in \{-1, 0, 1\}\)。

输出格式

如果可以通过若干次操作使 \(a\) 单调不降,则输出最少的操作次数;若不能,则输出 Baka

样例

输入

6
-1 1 0 -1 0 1

输出

3

样例解释

第 \(1\) 次操作 \(a_2 + a_1 \rightarrow a_2\),操作完成的数列为 \(\text{-1 0 0 -1 0 1}\);

第 \(2\) 次操作 \(a_2 + a_1 \rightarrow a_2\),操作完成的数列为 \(\text{-1 -1 0 -1 0 1}\);

第 \(3\) 次操作 \(a_3 + a_2 \rightarrow a_3\),操作完成的数列为 \(\text{-1 -1 -1 -1 0 1}\),此时,序列单调不降。

故最少操作次数为 \(3\)。

数据范围

对于 \(30 \%\) 的数据,\(1 \leq n \leq 100\);
对于 \(60 \%\) 的数据,\(1 \leq n \leq 10^3\);
对于 \(100 \%\) 的数据,\(1 \leq n \leq 10^6\)。

信息

ID
1082
难度
9
分类
动态规划 点击显示
标签
(无)
递交数
6
已通过
2
通过率
33%
上传者