Solução de Frederico Bulhões
Para esse problema vamos usar uma estrutura chamada de segment tree. Com ele podemos consultar mínimo e máximo em um intervalo qualquer e também podemos fazer updates um uma posição.
Para responder cada query vamos fazer a consulta da máximo naquele intervalo e subtrair pela consulta de mínimo daquele intervalo. O mudança de preço é simplismente um update normal em uma segment tree.
Caso queira aprender melhor a estrutura da segment tree pode consutar a aula do Codcad de segment tree.
Código para melhor entendimento:
https://gist.github.com/fredbr/7740cac2f4d32f7fcb0b428d9a691c12
