1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #include <iostream> #include <cstring> #include <algorithm> #include<cstdio> const int N = 1e5+10; int n,k; long long s[N],cnt[N];
using namespace std; int main() {scanf("%d%d",&n,&k); for (int i = 1; i <= n; i ++ ) {int m; scanf("%d", &m); s[i]=s[i-1]+m; }
long long res=0; cnt[0] = 1; for(int r=1;r<=n;r++) {int mod=s[r]%k; res+=cnt[mod]; cnt[mod]++; } cout<<res;
return 0; }
|