Punto Verde X12675


Statement
 

pdf   zip   main.cc

Al llegar al Punto Verde, un cliente quiere reciclar un número entero nn 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++