C. Multiple of k
C. Multiple of k
时间限制:1s
空间限制:64MB
本题分值:200
题目描述
现有长度为 \(n\) 的数列 \(a\) ,给定正整数 \(k\) ,求所有的二元组\((i,\ j)\)的个数,使得:
- \(i\le j\)
- \(a_i+a_{i+1}+..+a_j\)是 \(k\) 的倍数
输入格式
第一行两个正整数\(n,k\)
接下来一行包含\(n\)个整数,表示这个数列。
输出格式
一个正整数,表示满足条件的二元组的个数。
样例输入1
4 2
1 1 1 0
样例输出1
4
样例解释
四个区间如下
[1,1],1,0
1,[1,1],0
1,[1,1,0]
1,1,1,[0]
样例输入2
70 9
0 6 8 7 0 1 3 2 7 1 4 7 3 1 8 6 2 3 8 8 5 0 2 3 5 1 8 0 3 6 6 4 2 0 8 7 1 4 2 7 0 2 6 2 0 5 6 1 8 2 6 2 1 4 0 3 5 0 7 6 3 7 5 8 6 4 2 7 5 4
样例输出2
261
数据范围及限制
\(1\le k\le 10^6\)
\(0\le a_i\le 10^6\)
请注意,答案可能不在\(32\)位整数范围内。
测试点编号 | 约定 | 测试点分值 |
---|---|---|
1~2 | \(1\le n\le 100\) | 每个测试点25分 |
3~4 | \(1\le n\le 5*10^3\) | 每个测试点35分 |
5~6 | \(1\le n\le 5*10^5\) | 每个测试点40分 |
信息
- ID
- 1306
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 151
- 已通过
- 11
- 通过率
- 7%
- 被复制
- 1
- 上传者
相关
在下列比赛中: