[USACO12OPEN] 平衡子数组
题目描述
我们称一个数组 是 平衡 的,当且仅当:
- 1、可以将 划分成 个非空的 子数组 和
- 2、子数组 和 的和相等
比如:
- 是平衡的,因为 可以划分成 和 ,而 和 的和都是
- 不是平衡的
现在给你一个长度为 的数组 ,请问 有多少个子数组是平衡的呢?
输入格式
第一行一个整数 ,表示数组 的大小。
第 至 行,每行一个数 ,表示数组 里的数。
输出格式
输出一个数表示平衡的子数组个数。
4
1
2
3
4
3
3
1
1
1
3
数据范围与提示
【样例 1 解释】
共存在 个不同的平衡子数组:
- 可以划分为 与
- 可以划分为 与
- 可以划分为 与
【样例 2 解释】
共存在 个不同的平衡子数组(标记橙色部分):
- $[{\color{orange}{\bf 1}}, {\color{orange}{\bf 1}}, 1]$
- $[{\color{orange}{\bf 1}}, 1, {\color{orange}{\bf 1}}]$
- $[1, {\color{orange}{\bf 1}}, {\color{orange}{\bf 1}}]$
- 注意:两个子数组不同,当且仅当存在至少一个下标不同
【数据范围】
- ,。