Description
Submission
class Solution { public: int subarraysDivByK(vector<int>& nums, int k) { int n = nums.size(); int sum = 0; vector<int> count(k, 0); count[0] = 1; for(int i = 0; i < n; ++i) { if(nums[i] < 0) { nums[i] += (-nums[i] / k + 1) * k; } sum += nums[i]; sum %= k; ++count[sum]; } int ret = 0; for(auto x: count) { ret += x * (x - 1) / 2; } return ret; } };