题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include<iostream>
using namespace std;
const int N=100010;
long long sum[N];//表示前i位是不是k的为倍数
long long res[N];
int n,k;
int main(){
scanf("%d %d",&n,&k);//n表示的就是当前是那个数字,k表示的就是当前要求的倍数
for(int i=1;i<=n;i++){
int a;
scanf("%d",&a);//输入当前位置上
res[i]=(res[i-1]+a)%k;
sum[res[i]]++;//表示当前位置上
}
long long cnt=0;
for(int i=0;i<k;i++){
if(i==0){
cnt+=(sum[0]+(sum[0]*(sum[0]-1)/2));
}else{
cnt+=(sum[i]*(sum[i]-1)/2);
}
}
cout<<cnt;
}
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla