Banca de limonada

Em uma banca de limonada, cada limonada custa $5. Os clientes estão em uma fila para comprar de você e fazem seus pedidos um de cada vez (na ordem especificada por bills).

Cada cliente comprará apenas uma limonada e pagará com uma nota de $5, $10 ou $20. Você deve dar o troco correto a cada cliente para que, ao final da transação, ele pague $5.

Retorne True se, e somente se, você conseguir dar o troco correto a todos os clientes.

Exemplos

lemonade([5, 5, 5, 10, 20]) ➞ True

lemonade([5, 5, 10, 10, 20]) ➞ False

lemonade([10, 10]) ➞ False

lemonade([5, 5, 10]) ➞ True

Notas

  • No início, você não tem nenhum troco.
  • bills é uma lista de inteiros.
  • bills[i] será 5, 10 ou 20.