题目描述
n 个数 a1,a2,...,an 围成一圈,a1 和 an 相邻。每一次操作选择 ai,变成 −ai ,并把相邻的两个数加上 ai。求最少经过几次操作,让所有数都变为非负整数。
输入格式
有多组数据。
每组数据,一行一个正整数 n,第二行 n 个整数 ai。
当 n=0 时,输入结束。
输出格式
对于每组数据,输出一个整数表示最少次数,若永远无法满足要求输出 −1。
样例
样例输入
3
2 3 3
4
-1 2 -2 2
8
-1 -1 -2 -2 1 1 1 2
4
1 2 -2 2
0
样例输出
0
5
-1
1
数据范围
- 2≤n≤1000
- ∣ai∣≤105 ∣∑ai∣≤10
咋做呀喵,求代码/原题,完全没思路喵。。。
给5关,思路不行的喵,急急急了,求助!!!