fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4.  
  5. int main() {
  6. ll n, k;
  7. cin >> n >> k;
  8. vector<ll> a(n + 1), prefix(n + 1);
  9. for (ll i = 1; i <= n; i++){
  10. cin >> a[i];
  11. prefix[i] = prefix[i-1] + a[i];
  12. }
  13.  
  14. unordered_map<ll, ll> freq;
  15. freq[0] = 1; ll c = 0;
  16.  
  17. for (ll j = 1; j <= n; j++) {
  18. ll y = ( (prefix[j] % k - j % k + k) % k );
  19. if(freq.find(y)!=freq.end()){
  20. c = c + freq[y];
  21. }
  22.  
  23. freq[y]++;
  24. }
  25. cout << c << "\n";
  26. }
Success #stdin #stdout 0s 5304KB
stdin
5 2
2 2 2 2 2
stdout
6