#5987. 三原色 (paint) 暂未评定

时间限制:2000 ms 内存限制:512 MiB 输入文件:paint.in 输出文件:paint.out
题目类型:传统 评测方式:文本比较
上传者: root

注意

本题采用文件输入输出。

输入文件为 paint.in, 输出文件为paint.out

题目描述

三原色 (paint, 2s/512M)

小红和小蓝是班上两名小学生。一天,老师给了他们 个数,每个数都是 中的一个。一开始,每个数字都被染色为蓝色。

老师给他们的任务是:要让他们把这 个数都染成红色。他们有两种操作,每一次可以选择其中一种操作:

  • 小蓝选择一个蓝色的方块,将其染色为红色;
  • 小红选择一个红色的数字。如果这个数字不为 ,那么小红将再选择一个蓝色的与该数字相邻的数字,之后红色的数字会减 ,然后蓝色的数字被染色为红色。

由于小蓝比较懒(小“懒”),他想知道为了完成任务,他自己最少需要操作多少次(不是求总共最少操作次数)?

样例输入

第一行一个正整数 ,表示数据组数。

对于每一组数据,第一行一个正整数 ,表示数字个数。

第二行 个整数 。每个整数都为 中的一种。

样例输出

对于每一组数据,输出一行一个整数,表示小蓝最少需要操作的次数。

样例输入

3
3
0 2 0
4
0 0 1 1
7
0 1 0 0 1 0 2

样例输出

1
2
4

样例解释

第一组数据,小蓝只需要操作一次:

  • 小蓝给第二个数字染成红色;
  • 小红给第二个数字减少 ,然后给第一个数字染成红色;
  • 小红给第二个数字减少 ,然后给第三个数字染成红色。

第二组数据,小蓝最少操作两次:

  • 小蓝给第四个数字染成红色;
  • 小红给第四个数字减少 ,然后给第三个数字染成红色;
  • 小蓝给第一个数字染成红色;
  • 小红给第一个数字减少 ,然后给第二个数字染成红色。

数据范围

  • 对于 30% 的数据,
  • 对于 50% 的数据,
  • 对于另 10% 的数据,
  • 对于 100% 的数据,