#LQ13102. k倍区间

k倍区间

题目描述

一个整数序列 A=(a1,a2,,an)A=(a_1,a_2,⋯ ,a_n) 的区间和为 Si,j=ai+ai+1++ajS_{i,j}=a_i+a_{i+1}+⋯+a_j

给定整数序列 AA 和一个正整数 kk, 请问有多少个区间 [i,j][i,j] 满足 1ijn1≤i≤j≤nSi,jS_{i,j}kk 非负整数倍。

输入描述

输入的第一行包含两个整数 n,kn,k, 用一个空格分隔。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,⋯ ,a_n, 相邻的整数之间用一个空格分隔。

输出描述

输出一行包含一个数表示满足条件的区间数量。

7 3
1 -1 0 2 2 2 -30
7

样例说明

满足条件的区间有 [1,2],[1,3],[1,6],[2,5],[3,3],[3,6],[4,6][1,2],[1,3],[1,6],[2,5],[3,3],[3,6],[4,6]

评测用例规模与约定

对于 40% 的评测用例, 1n500,1k101≤n≤500,1≤k≤10;

对于 60% 的评测用例, 1n20001≤n≤2000;

对于所有评测用例, 1n1000001k109109ai1091≤n≤100000,1≤k≤10^9,−10^9≤a_i≤10^9