Problem · Array
Stock Prices
Learn this problemProblem statement
The cost of a stock on each day is given in an array, arr. An investor wants to buy the stocks in triplets such that the sum of the cost for three days is divisible by d. The goal is to find the number of distinct triplets (i, j, k) such that i < j < k and the sum (arr[i]+arr[j]+arr[k]) is divisible by d.
Function
getTripletCount(arr: int[], d: int) → int
Complete the function getTripletCount in the editor below. The function must return an integer denoting the total number of distinct triplets.
getTripletCount has the following parameters:
int arr[n]: an array of integersint d: the divisor
Examples
Example 1
arr = [3, 3, 4, 7, 8]d = 5return = 3The triplets whose sum is divisible by
d are shown.
- Triplet with indices - (0, 1, 2), sum = 3+3+4 = 10
- Triplet with indices - (0, 2, 4), sum = 3+4+8 = 15
- Triplet with indices - (1, 2, 4), sum = 3+4+8 = 15
Constraints
- 3 ≤ n ≤ 10^3
- 1 ≤ arr[i] ≤ 10^9
- 2 ≤ d ≤ 10^6