#YACS202007C4. 倍数区间

倍数区间

题目描述

给定一个数列 a1,…,ana_1,\dots,a_n,若有一个区间 [l,r][l,r] 满足

al+al+1+⋯+ar−1+ara_l+a_{l+1}+\cdots+a_{r-1}+a_r

为 kk 的倍数,则称 [l,r][l,r] 为kk的倍数区间 。

给定kk,请统计在给定的数列中,有多少个区间是 kk 的倍数区间。

输入格式

第一行:两个整数 nn 与 kk; 第二行:nn 个整数 a1,…,ana_1,\dots,a_n。

输出格式

单个整数:表示倍数区间的数量。

数据范围

  • 对于 30%30\% 的数据,n≤200n\leq 200;
  • 对于 60%60\% 的数据,n≤5000n\leq 5000;
  • 对于 100%100\% 的数据,1≤n≤2000001\leq n\leq 200000;
  • 1≤k≤1000001 \leq k \leq 100000,0≤ai≤100000 \leq a_i \leq 10000。

样例数据

输入:

4 20
30 20 40 10

输出:

4

说明:

满足要求的区间有:[20],[40],[20,40],[30,20,40,10]