Una mochila

Dada una mochila con cierta capacidad de peso, llénala con objetos de una lista para lograr el mayor valor posible.

La función recibe dos parámetros: un int que especifica el peso máximo que puede soportar la mochila y un array de objetos que representan artículos para elegir. Cada artículo tiene un nombre, un peso y un valor. El peso total de todos los artículos elegidos no puede exceder la capacidad de la mochila.

La función debe devolver un objeto que contenga la capacidad de la mochila, una lista de los artículos que se agregaron a la mochila (en el mismo orden en que se proporcionaron), el peso total de esos artículos y el valor total de los artículos.

Ejemplo

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

Notas

N/A