Ordenação limitada

Crie uma função que retorne true se um array de entrada puder ser completamente ordenado ordenando apenas dentro dos limites [0, n] (inclusive), em que n seja menor ou igual ao comprimento do array, e false caso contrário.

Exemplos

bound_sort([1, 6, 5, 3, 8, 9], [0, 3]) ➞ true
# Se [1, 6, 5, 3] for ordenado para [1, 3, 5, 6], o array ficará completamente ordenado.

bound_sort([1, 6, 5, 3, 8, 9], [0, 2]) ➞ false
# Mesmo que [1, 6, 5] seja ordenado para [1, 5, 6], o array ainda não ficará completamente ordenado.

bound_sort([1, 9, 2, 5, 7], [0, 4]) ➞ true

bound_sort([1, 9, 2, 5, 7], [0, 3]) ➞ false
# Ordenar a partir de [0, 3] produz [1, 2, 5, 9, 7], mas o array ainda não fica completamente ordenado.

Observações

  • Os números do array serão únicos.
  • O índice inferior do limite sempre será 0.