Papai Noel quer distribuir presentes da forma mais eficiente possível 🎁. Ele tem uma lista de presentes, cada um com um peso, e um trenó que só pode carregar até um peso máximo.
Os presentes são entregues em ordem, e o Papai Noel não pode mudar essa ordem. Quando um presente não cabe no trenó atual, o Papai Noel envia o trenó e prepara um novo.
Sua tarefa é escrever uma função que calcule o número mínimo de trenós necessários para entregar todos os presentes.
Mas tenha em conta que às vezes há um presente que não cabe no trenó; então é preciso devolver null porque esse trenó não serve para esse conjunto de presentes.
packGifts([2, 3, 4, 1], 5)
// 2 trenós
// Trenó 1: 2 + 3 = 5
// Trenó 2: 4 + 1 = 5
packGifts([3, 3, 2, 1], 3)
// 3 trenós
// Trenó 1: 3
// Trenó 2: 3
// Trenó 3: 2 + 1 = 3
packGifts([1, 1, 1, 1], 2)
// 2 trenós
// Trenó 1: 1 + 1 = 2
// Trenó 2: 1 + 1 = 2
packGifts([5, 6, 1], 5)
// null
// Há um presente de peso 6 que não cabe
packGifts([], 10)
// 0 trenós
// Não há presentes para entregar