题库练习 Array Painting
← 上一题 下一题 →

A15969 | Array Painting

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

You are given an array of $n$ integers, where each integer is either $0$ , $1$ , or $2$ . Initially, each element of the array is blue.

Your goal is to paint each element of the array red. In order to do so, you can perform operations of two types:

- pay one coin to choose a blue element and paint it red;
- choose a red element which is not equal to $0$ and a blue element adjacent to it, decrease the chosen red element by $1$ , and paint the chosen blue element red.

What is the minimum number of coins you have to spend to achieve your goal?

输入格式

The first line contains one integer $n$ ( $1 \le n \le 2 \cdot 10^5$ ).

The second line contains $n$ integers $a_1, a_2, \dots, a_n$ ( $0 \le a_i \le 2$ ).

输出格式

Print one integer — the minimum number of coins you have to spend in order to paint all elements red.

输入输出样例

输入 #1
3
0 2 0
输出 #1
1
输入 #2
4
0 0 1 1
输出 #2
2
输入 #3
7
0 1 0 0 1 0 2
输出 #3
4
C++ 编辑器
输入
输出