fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. // your code goes here
  6. int n,k;
  7. cin>>n>>k;
  8.  
  9. vector<int> v(n);
  10. for(int i = 0; i < n; i++){
  11. cin>>v[i];
  12. }
  13.  
  14. unordered_map<int,int> ump;
  15. int cnt = 0;
  16.  
  17. for(int i = 0; i < n; i++){
  18.  
  19. // Sometimes v[i] is greater then k then if we did not perform this step which
  20. // leads to end up -ve numbers
  21.  
  22. int ele = v[i] % k;
  23.  
  24. int rem = (k - ele) % k;
  25.  
  26. if(ump.count(rem)){
  27. cnt += ump[rem];
  28. }
  29.  
  30. ump[v[i] % k] ++;
  31. }
  32. cout<<cnt<<endl;
  33. return 0;
  34. }
Success #stdin #stdout 0s 5320KB
stdin
6 5
2 2 5 5 3 3
stdout
5