Loja de conveniência

Dado o preço de um produto e as moedas que você tem no bolso, determine se tem dinheiro suficiente para pagá-lo. As quantidades de moedas sempre aparecem nesta ordem: moedas de vinte e cinco centavos, de dez centavos, de cinco centavos e de um centavo.

Exemplos

Program.ChangeEnough(new[] { 2, 100, 0, 0 }, 14.11m) ➞ false
Program.ChangeEnough(new[] { 0, 0, 20, 5 }, 0.75m) ➞ true

Notas

  • As quantidades de moedas e amountDue não podem ser negativas.
  • amountDue tem no máximo duas casas decimais.
  • Os valores das moedas, em centavos e nessa ordem, são 25, 10, 5 e 1, respectivamente.
  • Se você tiver exatamente o valor devido, o retorno será true.