Punto Verde X12675


Statement
 

pdf   zip   main.cc

thehtml

Al llegar al Punto Verde, un cliente quiere reciclar un número entero n de ítems. Los empleados del Punto Verde son quienes clasifican cada ítem en su contenedor. El tiempo requerido para atender a cada cliente (simplificando mucho) es de 1 segundo por ítem. Según la hora del día, se forma una cola de usuarios esperando a que alguno de los empleados del Punto Verde les atiendan.

Escribe una función que simule la cola de usuarios que llegan al Punto Verde y calcule el tiempo total requerido para atender la cola de usuarios, contando que hay num_emp empleados del Punto Verde atendiendo a los usuarios. Los empleados van atendiendo a los usuarios por estricto orden de cola.

La cabecera de la función es:

/**
 * @pre 'num_emp' es el número de empleados del Punto Verde atendiendo a los usuarios,
 *      'q' contiene la sucesión de enteros que es el número de ítems de cada usuario.
 * @post Se devuelve el mínimo tiempo necesario para atender a todos los usuarios.
 */
int punto_verde(int num_emp, queue<int>& c);
Sample session
punto_verde(1, [])                        => 0
punto_verde(1, [3, 2, 4, 1])              => 10
punto_verde(2, [3, 2, 4, 1])              => 6
punto_verde(2, [1, 1])                    => 1
punto_verde(3, [1, 5, 2])                 => 5
punto_verde(4, [10])                      => 10
punto_verde(2, [7, 4, 1, 3, 4, 1, 2, 3])  => 14
Information
Author
PRO2
Language
Spanish
Translator
Original language
Catalan
Other languages
Catalan
Official solutions
C++
User solutions
C++