#CF698A. 假期

假期

假期

  • 时间限制:1 秒
  • 内存限制:256 MiB

题目描述

Vasya 有 nn 天的假期!所以他决定提升自己的 IT 技能并锻炼身体。对每一天,Vasya 都知道当天的健身房是否开放,以及当天是否有互联网编程比赛。对于第 ii 天,有以下四种情况:

  1. 这一天健身房关闭,也没有比赛;
  2. 这一天健身房关闭,但有比赛;
  3. 这一天健身房开放,但没有比赛;
  4. 这一天健身房开放,也有比赛。

在每一天,Vasya 可以选择休息,或者参加比赛(如果这一天有比赛),或者锻炼(如果这一天健身房开放)。

请你求出 Vasya 至少需要休息多少天(也就是既没有锻炼,也没有参加比赛的天数)。Vasya 惟一的限制是:他不想连续两天做同样的活动,也就是说,他不会连续两天都锻炼,也不会连续两天都参加比赛。

输入格式

第一行包含一个正整数 nn(1≤n≤1001 \leq n \leq 100),表示假期的天数。

第二行包含 nn 个用空格分隔的整数 a1,a2,…,ana_{1}, a_{2}, \ldots, a_{n}(0≤ai≤30 \leq a_{i} \leq 3),其中:

  • 如果第 ii 天健身房关闭且没有比赛,则 ai=0a_i = 0;
  • 如果第 ii 天健身房关闭,但有比赛,则 ai=1a_i = 1;
  • 如果第 ii 天健身房开放,但没有比赛,则 ai=2a_i = 2;
  • 如果第 ii 天健身房开放,也有比赛,则 ai=3a_i = 3。

输出格式

输出一行,包含一个整数,表示 Vasya 至少需要休息多少天。请记住,Vasya 拒绝:

  • 连续两天都锻炼,
  • 连续两天都参加比赛。

样例输入 1

4
1 3 2 0

样例输出 1

2

样例输入 2

7
1 3 3 2 1 2 3

样例输出 2

0

样例输入 3

2
2 2

样例输出 3

1

数据范围

对于所有数据,1≤n≤1001\le n\le100,0≤ai≤30\le a_i\le3。

子任务编号 分值 特殊限制
1 30 n≤15n\le15
2 对于所有 ii,ai≠3a_i\ne3
3 40 无特殊限制