Nombre Password [ Regístrate ]

Buque (OIE 2 - 1998)

 

La línea marítima "Titanic S.A.", cuya flota consta de un único buque, se ocupa del transporte de mercancías desde el puerto nuevo de Villabajo de Arriba allende los mares. Cada uno de los productos tiene un volumen (por motivos de conservación, las mercancías van siempre embaladas en cajas) y un precio de venta. Ante la convocatoria inminente de una huelga de estibadores, la línea decide efectuar un viaje extraordinario llenando el buque de manera que la mercancía que transporte sea lo más valiosa posible. Se pide construir un programa que, dada la información de las mercancías (volumen, precio y unidades disponibles), determine cuáles deben transportarse en el buque sin desbordar su capacidad (que será una información adicional sumistrada al programa). En caso que existan diversas combinaciones óptimas de mercancía con respecto al precio, se elegira aquélla que ocupe menos volumen; en este caso, sí puede suponerse que existe una única solución óptima al problema.

Entrada

Residente en el fichero de caracteres "BUQU.DAT":

Línea 1: número N de tipos de mercancías, mediante uno o dos caracteres que representan un número entero entre 1 y 99.
Línea 2: capacidad del buque, mediante uno, dos, tres o cuatro caracteres que representan un número entero entre 1 y 9999.
Líneas de la 3 a la N+2: cada una de las líneas tiene el formato:

    mercancía volumen coste unidades


donde mercancía es una palabra formada exclusivamente por letras minúsculas (y sin signos de puntuación, es decir, ni acentos ni similares) de a lo sumo 20 letras, y los otros tres componentes son enteros representados mediante un número de dígitos que oscila entre 1 y 5 (es decir, el entero más grande representable es el 99999). Los componentes de la línea están separados por un único carácter blanco, y no existen blancos ni otro tipo de caracteres al principio o final de línea.

Salida

A guardar en el fichero de caracteres "BUQU.OUT":

Línea 1: un par de enteros representados mediante dígitos de la manera habitual, que indican el coste total de la carga transportada y el volumen. Ambos valores están separados por un único carácter blanco, y no existen blancos ni otro tipo de caracteres al principio o final de línea.
Líneas siguientes: cada una de ellas contiene un par:

    mercancía unidades

que dice cuantas unidades de una mercancía dada aparecen en la carga transportada. La mercancía debe haber aparecido como tal en el fichero de entrada. Las unidades se representan mediante dígitos de la manera habitual. Ambos valores están separados por un único carácter blanco, y no existen blancos ni otro tipo de caracteres al principio o final de línea. No deben aparecer mercancías con cero unidades transportadas. Las líneas deben estar ordenadas alfabéticamente según el nombre de la mercancía; no deben aparecer mercancías repetidas.

Ejemplo de entrada

5
2000
patatas 350 2 7
judias 400 5 4
guisantes 1000 12 4
fresones 1100 17 3
arroz 600 8 1

Ejemplo de salida

27 1900
fresones 1
judias 2



© (2001-2008) ALGORITMIA.NET - Política de privacidad