同余定理 (小学数学)
#include<bits/stdc++.h>
using namespace std;
int main(){
int32_t n,k,p;
cin>>n>>k;
vector<int32_t>num(n + 1),sum(n + 1);
int64_t ans=0;
for(size_t i=1;i<=n;i++){
cin>>p;
sum[i]=(sum[i-1]+p)%k;
ans+=num[sum[i]]++;
}
cout<< ans + num[0] <<endl;
return 0;
}