题目描述
给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。
数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。
求一组连续子序列,组内子序列的数目最多。
输出这个数目。
输入描述
-
第一行输入为数组长度N,1<=N<=10^3
第二行为N个用空格分开的整数 Ci,-10^5 <= Ci <= 10^5
输出描述
第一行是一个整数M,表示满足要求的最多的组内子序列的数目。
参考示例
示例1
输入
10
8 8 9 1 9 6 3 9 1 0
输出
4
示例1
输入
10
-1 0 4 -3 6 5 -6 5 -7 -3
输出
3
参考代码
# 输入获取
n = int(input())
arr = list(map(int, input().split()))
# 算法入口
def getResult(arr, n):
# 记录相同和连续子序列的区间
rans = {}
# 求解arr数组的前缀和数组dp
dp