Codeforces Global Round 19
C
Andrew and Stones
Codeforces
1200
原题
← BD →
翻译中…

Andrew has $n$ piles with stones. The $i$-th pile contains $a_i$ stones. He wants to make his table clean so he decided to put every stone either to the $1$-st or the $n$-th pile.

翻译中…

Andrew can perform the following operation any number of times: choose $3$ indices $1 \le i \lt j \lt k \le n$, such that the $j$-th pile contains at least $2$ stones, then he takes $2$ stones from the pile $j$ and puts one stone into pile $i$ and one stone into pile $k$.

翻译中…

Tell Andrew what is the minimum number of operations needed to move all the stones to piles $1$ and $n$, or determine if it's impossible.

翻译中…

Input

翻译中…

The input contains several test cases. The first line contains one integer $t$ ($1 \leq t \leq 10\,000$) — the number of test cases.

翻译中…

The first line for each test case contains one integer $n$ ($3 \leq n \leq 10^5$) — the length of the array.

翻译中…

The second line contains a sequence of integers $a_1, a_2, \ldots, a_n$ ($1 \leq a_i \leq 10^9$) — the array elements.

翻译中…

It is guaranteed that the sum of the values $n$ over all test cases does not exceed $10^5$.

翻译中…

Output

翻译中…

For each test case print the minimum number of operations needed to move stones to piles $1$ and $n$, or print $-1$ if it's impossible.

翻译中…

Note

翻译中…

In the first test case, it is optimal to do the following:

翻译中…
  1. Select $(i, j, k) = (1, 2, 5)$. The array becomes equal to $[2, 0, 2, 3, 7]$.
  2. Select $(i, j, k) = (1, 3, 4)$. The array becomes equal to $[3, 0, 0, 4, 7]$.
  3. Twice select $(i, j, k) = (1, 4, 5)$. The array becomes equal to $[5, 0, 0, 0, 9]$. This array satisfy the statement, because every stone is moved to piles $1$ and $5$.
翻译中…

There are $4$ operations in total.

翻译中…

In the second test case, it's impossible to put all stones into piles with numbers $1$ and $3$:

翻译中…
  1. At the beginning there's only one possible operation with $(i, j, k) = (1, 2, 3)$. The array becomes equal to $[2, 1, 2]$.
  2. Now there is no possible operation and the array doesn't satisfy the statement, so the answer is $-1$.
翻译中…

In the third test case, it's optimal to do the following:

翻译中…
  1. Select $(i, j, k) = (1, 2, 3)$. The array becomes equal to $[2, 0, 2]$. This array satisfies the statement, because every stone is moved to piles $1$ and $3$.
翻译中…

The is $1$ operation in total.

翻译中…

In the fourth test case, it's impossible to do any operation, and the array doesn't satisfy the statement, so the answer is $-1$.

翻译中…

样例

Input #1
4
5
1 2 2 3 6
3
1 3 1
3
1 2 1
4
3 1 1 2
Output #1
4
-1
1
-1
InputCopy OutputCopy
题目信息
题号
1637C
时间限制
1 s
内存限制
256 MB
标签
贪心
模拟

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。