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), onde n é menor ou igual ao tamanho 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 como [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 como [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 ficará completamente ordenado.

Observações

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