输入样例:
5 2
1
2
3
4
5
输出样例:
6
分析:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+10;
int a[N],s[N];//a存储数据,s存储前缀和
ll res=0;
int cnt[N];//cnt存储模k出现的次数
int main()
{
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
s[i]=(s[i-1]+a[i])%k;
}
for(int i=1;i<=n;i++)
{
res+=cnt[s[i]];
cnt[s[i]]++;
}
cout<<res+cnt[0]<<endl;
return 0;
}