最多等和不相交连续子序
题目描述
给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。求一组连续子序列,组内子序列的数目最多。输出这个数目。
输入描述
第一行输入为数组长度N,1<=N<=10^3
第二行为N个用空格分开的整数 Ci,-10^5 <= Ci <= 10^5
输出描述
第一行是一个整数M,表示满足要求的最多的组内子序列的数目。
样例1
input
10
8 8 9 1 9 6 3 9 1 0
output
4
样例2
input
10
-1 0 4 -3 6 5 -6 5 -7 -3
output
3
代码:c++
#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
int calculateMaxDisjointSubsequences(const std::vector<int>& arr) {