Uma mochila

Dada uma mochila com certa capacidade de peso, preencha-a com itens de uma lista para obter o maior valor possível.

A função recebe dois parâmetros: um int que especifica o peso máximo que a mochila pode suportar e um array de objetos que representam itens para escolher. Cada item tem um nome, um peso e um valor. O peso total de todos os itens escolhidos não pode exceder a capacidade da mochila.

A função deve retornar um objeto contendo a capacidade da mochila, uma lista dos itens que foram adicionados à mochila (na mesma ordem em que foram fornecidos), o peso total desses itens e o valor total dos itens.

Exemplo

knapsack(0, items) ➞ {
  capacity: 0,
  items: [],
  weight: 0,
  value: 0
}

Observações

N/A