La rana saltarina

Una rana quiere cruzar un río. Desafortunadamente, no puede saltar hasta el otro lado de un solo salto. Por suerte, hay n piedras en el río.

La rana puede saltar desde la orilla cercana hasta la piedra 1 y desde la piedra n hasta la orilla opuesta. También puede saltar de piedra en piedra, hacia adelante y hacia atrás. Sin embargo, en cada piedra hay un número j escrito y solo puede saltar exactamente j piedras hacia atrás o hacia adelante.

Devuelve el número mínimo de saltos para cruzar el río (incluidos los saltos hasta la primera piedra y desde la última piedra —o desde cualquier otra piedra, si es posible— hasta la orilla opuesta) o 0 si no es posible cruzar el río.

Ejemplos

jumpingFrog(5, [1, 1, 1, 1, 1]) ➞ 6

jumpingFrog(5, [1, 3, 1, 1, 1]) ➞ 4

jumpingFrog(5, [1, 1, 0, 1, 1]) ➞ 0

Notas

  • La rana también puede llegar a la orilla opuesta desde una piedra distinta de n si en ella hay escrito un número lo suficientemente grande.
  • n es como mínimo 2.