El Dodge Ram de Walker P11349


Statement
 

pdf   zip

thehtml

Trivette se ha quedado sin gasolina en medio del desierto de Chihuahua, cerca de la frontera con México, mientras perseguía a unos malechores por su propia cuenta. Por suerte, Walker pasaba por ahí cerca (sí, Texas parece grande, pero no hay muchas carreteras), y se ofrece a dejarle la cantidad exacta de galones de gasolina que Trivette necesita para llegar hasta el pueblo más cercano.

Walker guarda varios contenedores vacíos en la parte trasera de su Dodge Ram 1500, cada uno de los cuales está etiquetado con su capacidad total. Es posible pasar gasolina entre los depósitos de ambos vehículos, o entre un depósito y un contenedor, o entre dos contenedores; pero para poder hacer medidas con precisión, sólo está permitido pasar líquido hasta que el depósito o contenedor de origen esté vacío, o hasta que el depósito o contenedor de destino esté lleno.

Por ejemplo, si Walker quiere traspasar 6 de los 35 galones de gasolina que tiene su Dodge Ram, y dispone de dos contenedores de 9 y 5 galones, puede conseguir realizar la operación del siguiente modo:

  • Llenar el contenedor de 5 galones de su depósito (le quedan 30).
  • Vaciar el contenedor de 5 galones en el depósito de Trivette (ha llenado 5).
  • Llenar el contenedor de 5 galones de su depósito (le quedan 25).
  • Vaciar el contenedor de 5 galones en el depósito de Trivette (ha llenado 10).
  • Llenar el contenedor de 9 galones del depósito de Trivette (queda 1 galón en el coche de Trivette).
  • Llenar el contenedor de 5 galones de su depósito.
  • Vaciar el contenedor de 5 galones en el depósito de Trivette (ha llenado 6).

Este es únicamente uno de los modos posibles de completar la operación. Se te pide que encuentres, dados todos los datos necesarios, qué cantidades de gasolina podría traspasar Walker a Trivette.

Entrada

Cada entrada contiene un número N≤ 500 de casos. Cada caso se da en una línea, y está formado por los siguientes datos, separados por espacios: el número de galones de gasolina en el depósito del Dodge Ram de Walker; el tamaño del depósito de Trivette; el número de contenedores de gasolina (entre 0 y 2), y sus tamaños. Tanto los tamaños de los depósitos como los tamaños de los contenedores están entre 1 y 40 galones.

Salida

Para cada caso, escribe (en una línea, separados por comas y ordenados de menor a mayor) las cantidades de gasolina que es posible traspasar del Dodge Ram de Walker al coche de Trivette.

Puntuación

  • TestA:  ‍ Entradas con 0 contenedores.  ‍25 Puntos ‍
  • TestB:  ‍25 Puntos ‍

    Entradas con 0 o 1 contenedores, donde el depósito de Trivette es mayor que el depósito de Walker.

  • TestC:  ‍ Entradas con 0 o 1 contenedores, de cualquier tipo.  ‍25 Puntos ‍
  • TestD:  ‍ Entradas con 0, 1 o 2 contenedores.  ‍25 Puntos ‍
Public test cases
  • Input

    2
    35 10 0
    35 40 0
    

    Output

    10
    35
    
  • Input

    3
    35 40 0
    35 40 1 10
    35 40 1 20
    

    Output

    35
    5,10,15,20,25,30,35
    15,20,35
    
  • Input

    3
    35 20 0
    35 33 1 10
    35 33 1 20
    

    Output

    20
    2,3,5,10,12,13,15,20,22,23,25,30,32,33
    2,13,15,20,22,33
    
  • Input

    5
    35 10 2 15 5
    35 10 2 9 5
    35 5 2 5 5
    35 12 2 3 6
    

    Output

    5,10
    1,2,3,4,5,6,7,8,9,10
    5
    3,6,9,12
    12
    
  • Information
    Author
    Omer Giménez
    Language
    Spanish
    Official solutions
    C++
    User solutions
    C++