c++问题!急需帮助谢

时空限制:1s/256M
沿着河边,依次有 n 幢老楼正在等待重新改造。目前包括你在内,一共有 m 位投资人准备共同投资其中的若干大楼,要求这些大楼位置连续,
至少投资 1 幢大楼。你们准备将这些连续位置的大楼整体规划后,改造开发成综合商业旅游项目。
经过对每幢楼的细致评估,其中第 i 幢大楼的所需投资费用为 p[i]。若 p[i]为正数,代表需要花钱; 若 p[i]为负数,代表可以赚取收益。为了方便平摊费用,你希望连续的若干大楼的总费用或者总收益恰好是 m 的倍数。请问共有多少种可以考虑的可能性
【输入格式】输入文件 share.in
输入第一行为正整数 n 和 m。第二行为 n 个整数代表 p[i],绝对值不超过 10000
【输出格式】输出文件 share.out
输出一个整数,代表方案数。
4 10
7 3 5 5

3
【说明】有三个子段和为 10 的整数倍:(7 3) (5 5) (7 3 5 5)