Count Array Pairs Divisible by K LeetCode solution in C++

1
typedef long long ll;
2

3
class Solution {
4
public:
5
long long countPairs(vector<int> &nums, int k) {
6
unordered_map<ll, ll> gcdCount;
7
ll ans = 0;
8
for (ll i = 0; i < nums.size(); ++i) {
9
ll currgcd = __gcd(nums[i], k);
10
for (auto &[gc_d, count] : gcdCount)
11
if ((currgcd * gc_d) % k == 0) ans += count;
12
gcdCount[currgcd]++;
13
}
14
return ans;
15
}
16
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0