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);
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