「SFCOI-3」进行一个魔的除 I

题目背景

终于,勇士打败了魔王,他把走投无路的魔王困在了一个房间里。 魔王拥有在黑暗中随意穿行的能力,所以勇士只有把房间里所有的灯全部打开,才能找到魔王,最终彻底消灭他。

题目描述

房间中共有 $n$ 盏灯,初始状态可以用 $a_1\dots a_n$ 表示,其中 $\tt 0$ 表示这盏灯初始是关闭的,$\tt 1$ 表示这盏灯初始是打开的。 从第一天早晨开始,魔王与勇士轮流行动: - 每天早晨,魔王可以选择 **连续的** 两盏灯,将它们的状态全部设定为 $\tt 0$; - 每天晚上,勇士可以选择 **任意的** 至多三盏灯,将它们的状态全部设定为 $\tt 1$。 每次行动时选择的灯在设定前的状态任意。 假设双方均采用最优策略,不会进行任何不利于自己的行动。勇士想知道,**最少** 需要多少天(也即,他最少需要多少次操作)才能将所有灯状态设定为 $\tt 1$——这样,他才能抓到可恶的魔王,迎娶美丽的公主。

输入输出格式

输入格式


第一行一个整数 $T$,表示数据组数。 对于每组数据: + 第一行一个整数 $n$,表示灯的总数。 + 第二行共 $n$ 个数,依次表示 $a_1\dots a_n$。

输出格式


对于每组数据,一行一个整数,代表勇士抓到魔王所需要的最少天数。 特别地,如果勇士不需要任何操作,输出 $0$ 即可。

输入输出样例

输入样例 #1

4
5
1 0 1 0 1
5
1 0 0 1 1
9
0 0 0 0 0 0 0 0 0
13
0 1 0 0 1 0 1 0 0 0 0 0 0

输出样例 #1

1
2
5
8

说明

### 样例解释 1 + 第一天早晨,魔王关闭第 $1{,}2$ 两盏灯; + 第一天晚上,勇士打开 $1{,}2{,}4$ 三盏灯。 ### 样例解释 2 + 第一天早晨,魔王关闭第 $4{,}5$ 两盏灯; + 第一天晚上,勇士打开 $2{,}3{,}4$ 三盏灯。 + 第二天早晨,魔王关闭第 $1{,}2$ 两盏灯; + 第二天晚上,勇士打开 $1{,}2{,}5$ 三盏灯。 ### 数据规模与约定 **本题采用捆绑测试**。 - Subtask 0(10 points):$n \leq 10$,$T \leq 2046$。 - Subtask 1(30 points):$ n \leq 2000$。 - Subtask 2(10 points):初始所有灯都是关闭的。 - Subtask 3(20 points):数据随机生成。 - Subtask 4(30 points):无特殊限制。 对于所有数据,$1 \leq T \leq 10^6$,$1 \leq n \leq 10^6$,$1 \leq \sum n \leq 3 \times 10^6$。