Está en la página 1de 2

Considere un puzzle con tres tipos de fichas.

Las fichas tienen copias las cuales tienen el


mismo peso y los otros tipos de fichas del tipo diferente tiene un peso diferente. Hay M
copias de cada tipo de ficha.
Hay una báscula con dos placas donde se pueden colocar fichas. También hay un objeto
dado con un peso W conocido que se puede colocar en las placas de la báscula. El objetivo
del rompecabezas es equilibrar la báscula con algunas de las fichas para verificar el peso
del objeto. Si se usan, las piezas del mismo tipo deben asignarse en la misma placa. Por
ejemplo, supongamos que hay tres tipos de fichas con un peso de 20, 50 y 40 gramos,
respectivamente.
Además, hay M = 3 copias de cada tipo de pieza. Si el objeto dado pesa W = 140 gramos,
entonces su peso puede verificarse de cinco maneras diferentes (descuidando el orden de
las placas):

Sin embargo, es imposible medir el peso W = 105 con este conjunto de fichas.
Su trabajo es escribir un programa de computadora para determinar la cantidad de maneras
diferentes de verificar el peso del objeto.

Entrada
La entrada consta de varios casos de prueba.
La primera línea de cada caso de prueba contiene dos números enteros separados por
espacios en blanco M y W (1 ≤ M ≤ 5.000) y (1 ≤ W ≤ 5.000. 000) que indican,
respectivamente, el número de copias de cada tipo de ficha y el peso del objeto Por
verificar.
Luego hay una línea que contiene tres enteros distintos separados en blanco n1, n2 y n3 que
representan los pesos de cada tipo de pieza (1 ≤ ni ≤ 1 000) Los pesos de las piezas no
pueden ser iguales
La entrada debe leerse desde la entrada estándar.
Salida
Para cada caso de prueba, imprima una sola línea que indique el número de formas
diferentes en que se puede verificar el peso dado con el conjunto de fichas.
La salida debe escribirse en la salida estándar.

También podría gustarte