## fizzbuzzer.com

### Looking for good programming challenges?

Use the search below to find our solutions for selected questions!

# Count Triplets Challenge

Sharing is caring!

You are given an array and you need to find number of tripets of indices $(i, j, k)$ such that the elements at those indices are in geometric progression for a given common ratio $r$ and $i < j < k$.

For example, $arr=\left[1,4,16,64\right]$. If $r=4$, we have $\left[1,4,16\right]$ and $\left[4,16,64\right]$ at indices $(0, 1, 2)$ and $(1, 2, 3)$.

Function Description
Complete the countTriplets function in the editor below. It should return the number of triplets forming a geometric progression for a given $r$ as an integer. countTriplets has the following parameter(s):
* arr: an array of integers
* r: an integer, the common ratio

Input Format
The first line contains two space-separated integers $n$ and $r$, the size of $arr$ and the common ratio.

The next line contains $n$ space-seperated integers $arr\left[i\right]$.

Constraints
* $1 \le n \le 10^5$
* $1 \le r \le 10^9$
* $1 \le arr\left[i\right] \le 10^9$

Output Format
Return the count of triplets that form a geometric progression.

Sample Input 0

Sample Output 0

Explanation 0
There are $2$ triplets in satisfying our criteria, whose indices are $(0,1,3)$ and $(0,2,3)$

Sample Input 1

Sample Output 1

Explanation 1
The triplets satisfying are index $(0,1,2)$, $(0,1,3)$, $(1,2,4)$, $(1,3,4)$, $(1,4,5)$ and $(3,4,5)$.

Solution