Given an unsorted array `arr[]` of size `n`, write a program to find the max (j - i) difference between indices such that `j > i` and `arr[j] > arr[i]` .

Example 1

``````Input: arr[] = [72, 8, 10, 3, 2, 81, 30, 1, 32]
Output: 7 (j = 8, i = 1)
Explanation: max(j - i) = 8 - 1 = 7 such that 8 > 1 and arr[8] > arr[1] are true.``````

Example 2

``````Input: arr[] = [5, 2, 3, 5, 4, 6, 7, 8, 19, 0]
Output: 8 (j = 8, i = 0)
Explanation: max(j - i) = 8 - 0 = 8 such that 8 > 0 and arr[8] > arr[0] are true.``````

Example 3

``````Input: arr[] = [0, 2, 3, 4, 5, 8, 9]
Output: 6 (j = 6, i = 0)
Explanation: In an array sorted in increasing order, the max(j - i) is the difference between last and first index. Here, max(j - i) = 6 - 0 such that 6 > 0 and arr[6] > arr[0] are true.``````

Example 4

``````Input: arr[] = [11, 8, 5, 4, 2, 1]
Output: -1
Explanation: In an array sorted in decreasing order, it is not possible to have max(j - i) such that arr[j] > arr[i] and j > i. So, the answer is -1.``````