P12605 求和
题目描述
给定长为 $n$ 的整数序列 $a$。
您可以对这个序列进行若干次(可以为 $0$ 次)操作,每次操作形如:
选定满足 $1\le i,j\le n$ 的下标 $i$ 和 $j$,将 $a_i$ 赋值为 $a_i+1$,同时将 $a_j$ 赋值为 $a_j-1$。$i$ 和 $j$ 不能相同。
求使得前缀和之和等于后缀和之和的最小操作次数。
也就是说,令 $s_i=a_1+a_2+\dots+a_i,t_i=a_i+a_{i+1}+\dots+a_n$,有 $s_1+s_2+\dots+s_n=t_1+t_2+\dots+t_n$。
注意,$a_i$ 可以变为负数。
输入格式
第一行一个整数 $n$。
第二行用空格隔开的 $n$ 个整数,表示 $a$ 序列。
输出格式
输出一行一个整数表示最小操作次数。
若无解,输出 $-1$。
说明/提示
**本题采用捆绑测试。**
- Subtask 1(30 pts):$1 \le n \le 2$;
- Subtask 2(30 pts):$a_i=i$;
- Subtask 3(5 pts):$a_i=1$;
- Subtask 4(35 pts):无特殊限制。
对于所有数据,保证 $1 \le n,a_i \le 10^6$。