传统题 1000ms 256MiB

Candy Distribution

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

nn 个盒子排成一排,其中左数第 ii 个盒子里面有 aia_i 个气球。你现在需要从一段连续的盒子当中取出所有的糖果,然后均匀地分给 mm 个小朋友。你希望最终每个小朋友手上的糖果数量相同,因此,你思考着有多少组连续的盒子里面的糖果数量是 mm 的倍数。形式化地说,你想找到一共有多少个二元组 (l,r)(l,r) 满足如下要求:

  • 1lrn1\leqslant l\leqslant r\leqslant n
  • i=lrai\sum\limits_{i=l}^r a_imm 的倍数。

数据范围:

  • 1n1051\leqslant n\leqslant 10^52m1092\leqslant m\leqslant 10^9
  • 1ai1091\leqslant a_i\leqslant 10^9

输入格式

按照下面形式输入

N N M M A1 A_1 A2 A_2 ... ... AN A_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

提示

样例1

每对 (l,r)(l, r) 的总和 Al+Al+1+...+ArA_l + A_{l+1} + ... + A_r 如下:

  • (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

其中有三个是 22 的倍数。

csp-j训练-part1-前缀和,差分

未认领
状态
已结束
题目
8
开始时间
2024-9-8 0:00
截止时间
2024-9-16 23:59
可延期
24 小时