Olá, João, como vai?
Seu algoritmo atende bem aos requisitos do desafio e demonstra uma boa compreensão da lógica condicional. É interessante notar como você separou a taxa base do valor adicional, o que facilita a manutenção do código caso os valores mudem no futuro.
Como uma pequena sugestão técnica, ao realizar comparações em intervalos, você pode simplificar a lógica. No trecho em que verifica se a distância é maior que 5 e menor que 10, o sistema já sabe que o valor é maior que 5 se ele caiu no segundo bloco de condição, sendo necessário apenas checar se é menor ou igual a 10.
Agradeço por compartilhar sua solução com a comunidade e incentivo que continue praticando esse tipo de raciocínio lógico.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!