#2168. Candy Distribution

Candy Distribution

Candy Distribution

题目描述

NN 个箱子从左到右排成一列,第 ii 个箱子里有 AiA_i 个糖果。

你想从若干连续的箱子中取出糖果,并将它们平均分给 MM 个孩子。

请你计算满足以下条件的所有组 (l,r)(l, r) 的总数:

  • l,rl, r 都是整数,且满足 1lrN1 \leq l \leq r \leq N
  • Al+Al+1++ArA_l + A_{l+1} + \cdots + A_rMM 的倍数。

输入格式

输入通过标准输入按以下格式给出。

NN MM A1A_1 A2A_2 \cdots ANA_N

输出格式

输出满足条件的组 (l,r)(l, r) 的总数。

请注意,输出结果可能超出 3232 位整数范围。

输入输出样例 #1

输入 #1

3 2
4 1 5

输出 #1

3

输入输出样例 #2

输入 #2

13 17
29 7 5 7 9 51 7 13 8 55 42 9 81

输出 #2

6

输入输出样例 #3

输入 #3

10 400000000
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000

输出 #3

25

说明/提示

限制条件

  • 所有输入均为整数。
  • 1N1051 \leq N \leq 10^5
  • 2M1092 \leq M \leq 10^9
  • 1Ai1091 \leq A_i \leq 10^9

样例解释 1

对于每组 (l,r)(l, r),其和 Al+Al+1++ArA_l + A_{l+1} + \cdots + A_r 如下,其中有 33 组是 22 的倍数。

  • (1,1)(1, 1) 的和:44
  • (1,2)(1, 2) 的和:55
  • (1,3)(1, 3) 的和:1010
  • (2,2)(2, 2) 的和:11
  • (2,3)(2, 3) 的和:66
  • (3,3)(3, 3) 的和:55