package main func subarraysDivByK(nums []int, k int) int { counters := make([]int, k) counters[0] = 1 total := 0 runningMod := 0 for _, num := range nums { runningMod = (k + runningMod + num%k) % k total += counters[runningMod] counters[runningMod]++ } return total }