A rã saltadora

Uma rã quer atravessar um rio. Infelizmente, ela não consegue saltar até o outro lado com um único salto. Felizmente, há n pedras no rio.

A rã pode saltar da margem mais próxima até a pedra 1 e da pedra n até a margem oposta. Ela também pode saltar de pedra em pedra, para a frente e para trás. No entanto, em cada pedra há um número j escrito, e ela só pode saltar exatamente j pedras para trás ou para a frente.

Retorne o número mínimo de saltos para atravessar o rio (incluindo os saltos até a primeira pedra e da última pedra —ou de qualquer outra pedra, se possível— até a margem oposta) ou 0 se não for possível atravessar o rio.

Exemplos

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

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

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

Observações

  • A rã também pode chegar à margem oposta a partir de uma pedra diferente de n se nela estiver escrito um número grande o suficiente.
  • n é no mínimo 2.