LLenando MI Mochila X35547


Statement
 

pdf   zip

Quieres aprovechar al máximo la capacidad de tu mochila, la cual es MM. Para ello debes decidir de entre un conjunto de nn objetos O={O1,O2,...,On}O = \{O_1, O_2, ..., O_n\} cuáles de ellos debes seleccionar para llevar dentro de tu mochila. Cada objeto OiO_i tiene asociado un valor ViV_i y un peso WiW_i. Debes hacer un programa que dado nn, MM y el listado de valores V={V1,V2,...,Vn}V = \{V_1, V_2, ..., V_n\} y pesos W={W1,W2,...,Wn}W = \{W_1, W_2, ..., W_n\} que distingue a cada uno de los nn objetos, elija el subconjunto de objetos O*OO* \subseteq O cuyo peso combinado no supere el máximo MM, y cuyo valor combinado sea el más grande posible.

Entrada

Los valores nn, MM, seguidos por 2 líneas. La primer línea es una secuencia de nn números enteros representando el valor de cada objeto. La segunda línea es una secuencia de nn números enteros representando el peso de cada objeto.

Salida

Una línea con un número indicando el valor combinado máximo que se pudo obtener al elegir objetos para cargar en la mochila, respetando la restricción que la suma de sus pesos no exceda MM.

Observación

  • Asuma que un objeto cualquier no puede pesar más de 50 unidades;

  • Asuma que un objeto cualquier no puede valer más de 50 unidades;

  • Asuma que el número de objetos máximo será de 100;

  • Asuma que el valor máximo de MM es de 200;

  • Asuma que el índice del primer objeto es 11 y el del último nn en los listados de pesos y valroes;

  • No olvide imprimir un salto de línea al final.

Public test cases
  • Input

    3 8
    6 8 9
    5 3 3
    

    Output

    17
    
  • Information
    Author
    Language
    Spanish
    Official solutions
    C++
    User solutions
    C++ Java