Série de roubos (10): Calcule a diferença

Uma família registra o valor de reposição de cada item roubado e tem uma apólice de seguro com um limite fixo de cobertura. A seguradora paga até esse limite, e a família precisa arcar com o valor restante.

Crie uma função calculateDifference que receba uma coleção que associe os nomes dos itens aos seus valores de reposição, além do limite do seguro. Retorne o valor total dos itens menos o limite.

Exemplos

calculateDifference(std::map<std::string, int>{{"skate", 200}, {"painting", 200}, {"shoes", 1}}, 400); // ➞ 1
calculateDifference(std::map<std::string, int>{{"skate", 200}, {"painting", 200}, {"shoes", 1}}, 300); // ➞ 101
calculateDifference(std::map<std::string, int>{{"skate", 200}, {"painting", 200}, {"shoes", 1}}, 200); // ➞ 201

Notas

  • A coleção nunca está vazia.
  • O valor total dos itens roubados é sempre maior que o limite do seguro.