时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
这天, 小 L 在上课, 他的老师给他出了一道题目, 题目如下:
目前有

个人, 他们将会按顺序分成两个队, 接下来, 给出每个人的类型, 类型

的人他会在黑板上写下

, 类型

的人他会在黑板上写下

, 类型

的人会 "从众"的写下数字, 请你求出黑板上 最多有多少个
"从众": 是指对于 第

个人来说, 假设他被分到了第一队, 他这一队除去

后目前有

个人, 并且有

个人写下了

, 如果

, 那么他也会写下

, 否则他将会写下

, 如果他前面没有人, 那么他也会写下
按顺序分队的意思是, 你现在需要将

个人分成左右两队, 从第

个人到第

个人, 对于每个人, 你可以将他分到左边, 或者右边
注意: 只要分好队后, 答案就定了, 怎么写不重要, 最后注明, 分队的顺序是任意的, 你只要不变任意两个人的前后顺序即可, 其次
输入描述:
第一行包含一个整数
)
第二行包含一个整数
(
)
第三行包含
个整数, 每个整数表示每个人属于的类型
输出描述:
共
行, 每行一个整数表示黑板上最多有多少个 
示例1
输入
复制
2
5
1 1 0 0 1
5
1 1 0 0 2