#B282. 求和

求和

题目描述

给定长为 nn 的整数序列 aa。

您可以对这个序列进行若干次(可以为 00 次)操作,每次操作形如:

选定满足 1≤i,j≤n1\le i,j\le n 的下标 ii 和 jj,将 aia_i 赋值为 ai+1a_i+1,同时将 aja_j 赋值为 aj−1a_j-1。ii 和 jj 不能相同。

求使得前缀和之和等于后缀和之和的最小操作次数。

也就是说,令 si=a1+a2+⋯+ai,ti=ai+ai+1+⋯+ans_i=a_1+a_2+\dots+a_i,t_i=a_i+a_{i+1}+\dots+a_n,有 s1+s2+⋯+sn=t1+t2+⋯+tns_1+s_2+\dots+s_n=t_1+t_2+\dots+t_n。

注意,aia_i 可以变为负数。

输入格式

第一行一个整数 nn。

第二行用空格隔开的 nn 个整数,表示 aa 序列。

输出格式

输出一行一个整数表示最小操作次数。

若无解,输出 −1-1。

5
1 2 3 4 5
3
6
2 3 7 4 5 8
-1

说明/提示

对于所有数据,保证 1≤n,ai≤1061 \le n,a_i \le 10^6。