#J20003. k倍区间

k倍区间

问题描述

给定一个长度为 NN 的数列 A1,A2,,ANA_1, A_2, \ldots, A_N。如果其中一段连续的子序列 Ai,Ai+1,,AjA_i, A_{i+1}, \ldots, A_jiji \le j)之和是 KK 的倍数,我们就称这个区间 [i,j][i, j]KK 倍区间。

你能求出数列中总共有多少个 KK 倍区间吗?

输入格式

第一行包含两个整数 NNKK

接下来 NN 行,每行一个整数 AiA_i

输出格式

一个整数,即 KK 倍区间的总数。

样例输入 1

5 2
1
2
3
4
5

样例输出 1

6

说明KK 倍区间为 [1,3][1,3]1+2+3=61+2+3=6)、[1,4][1,4]1+2+3+4=101+2+3+4=10)、[2,2][2,2]22)、[2,5][2,5]2+3+4+5=142+3+4+5=14)、[3,5][3,5]3+4+5=123+4+5=12)、[4,4][4,4]44),共 66 个。

样例输入 2

3 1
1
2
3

样例输出 2

6

说明K=1K = 1 时所有区间都是 11 的倍数,N=3N = 3 时共 3×4/2=63 \times 4 / 2 = 6 个区间。

样例输入 3

4 3
1
2
3
4

样例输出 3

4

说明KK 倍区间有 [1,2][1,2]1+2=31+2=3)、[1,3][1,3]1+2+3=61+2+3=6)、[2,4][2,4]2+3+4=92+3+4=9)、[3,3][3,3]3=33=3),共 44 个。

评测数据规模

对于所有数据,保证 1N,K1051 \le N, K \le 10^51Ai1051 \le A_i \le 10^5