Toggle navigation
点码成金编程
F.A.Qs
ProblemSet
Source/Category
Status
Ranklist
Contest
Login
Home
=>
ProblemSet
=> 300.1-02:xhl 找 py
Problem1781--300.1-02:xhl 找 py
1781: 300.1-02:xhl 找 py
Time Limit:
1
Sec
Memory Limit:
128 MB
Submit:
0
Solved:
0
[
Submit
] [
Status
] [ Creator:
][ 参考程序 ]
Description
有 n 个 xhl 要找 py。第 i 个 xhl 已经找了 a
i
个 py。在这里,我们允许一个人有负数个 py。
你可以进行若干次操作,每次操作选定一个 2≤i<n ,让第 i 个 xhl 分别分给他相邻的 xhl 各 ai 个 py。
即:
a
i−1
=a
i
+a
i−1
a
i+1
=ai+a
i+1
a
i
=−a
i
但是显然,一个人终究还是得要有非负整数个 py。因此,请你帮 xhl 求出最少操作数,使得 a
i
均非负。
Input
第一行一个整数 n。
第二行 n 个整数 a
i
。
Output
一行一个整数,表示最少操作数。若无论如何都不能将所有的 a
i
变成非负整数,输出 -1。
Sample Input
Copy
7 2 -1 -1 5 2 -2 9
Sample Output
Copy
4
HINT
对于 20% 的数据,n≤10。
对于 100% 的数据,n≤10
5
,|a
i
|≤10
9
。
Source/Category
省选