<p>Given an array of integers <code>arr</code> and an integer <code>d</code>. In one step you can jump from index <code>i</code> to index:</p>
<ul>
<li><code>i + x</code> where: <code>i + x < arr.length</code> and <code> 0 < x <= d</code>.</li>
<li><code>i - x</code> where: <code>i - x >= 0</code> and <code> 0 < x <= d</code>.</li>
</ul>
<p>In addition, you can only jump from index <code>i</code> to index <code>j</code> if <code>arr[i] > arr[j]</code> and <code>arr[i] > arr[k]</code> for all indices <code>k</code> between <code>i</code> and <code>j</code> (More formally <code>min(i, j) < k < max(i, j)</code>).</p>
<p>You can choose any index of the array and start jumping. Return <em>the maximum number of indices</em> you can visit.</p>
<p>Notice that you can not jump outside of the array at any time.</p>
<strong>Input:</strong> arr = [6,4,14,6,8,13,9,7,10,6,12], d = 2
<strong>Output:</strong> 4
<strong>Explanation:</strong> You can start at index 10. You can jump 10 --> 8 --> 6 --> 7 as shown.
Note that if you start at index 6 you can only jump to index 7. You cannot jump to index 5 because 13 > 9. You cannot jump to index 4 because index 5 is between index 4 and 6 and 13 > 9.
Similarly You cannot jump from index 3 to index 2 or index 1.