题库练习 Split
← 上一题 下一题 →

A13864 | Split

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

题目描述

One day, BThero decided to play around with arrays and came up with the following problem:

You are given an array $a$ , which consists of $n$ positive integers. The array is numerated $1$ through $n$ . You execute the following procedure exactly once:

- You create a new array $b$ which consists of $2n$ positive integers, where for each $1 \le i \le n$ the condition $b_{2i-1}+b_{2i} = a_i$ holds. For example, for the array $a = [6, 8, 2]$ you can create $b = [2, 4, 4, 4, 1, 1]$ .
- You merge consecutive equal numbers in $b$ . For example, $b = [2, 4, 4, 4, 1, 1]$ becomes $b = [2, 4, 1]$ .

Find and print the minimum possible value of $|b|$ (size of $b$ ) which can be achieved at the end of the procedure. It can be shown that under the given constraints there is at least one way to construct $b$ .

输入格式

The first line of the input file contains a single integer $T$ ( $1 \le T \le 5 \cdot 10^5$ ) denoting the number of test cases. The description of $T$ test cases follows.

The first line of each test contains a single integer $n$ ( $1 \le n \le 5 \cdot 10^5$ ).

The second line contains $n$ space-separated integers $a_1$ , $a_2$ , ..., $a_n$ ( $2 \le a_i \le 10^9$ ).

It is guaranteed that $\sum{n}$ over all test cases does not exceed $5 \cdot 10^5$ .

输出格式

For each test case, print a single line containing one integer — the minimum possible value of $|b|$ .

输入输出样例

输入 #1
3
3
6 8 2
1
4
3
5 6 6
输出 #1
3
1
2
C++ 编辑器
输入
输出