En arribar al Punt Verd, un client vol reciclar un nombre enter n d’ítems. Els empleats del Punt Verd són els qui clasifiquen cada ítem en el seu contenidor. El temps requerit per atendre a cada client (simplificant molt) és de 1 segon per ítem. Segons l’hora del dia, es forma una cua d’usuaris esperant a que algun dels empleats del Punt Verd els atengui.
Escriu una funció que simuli la cua d’usuaris que arriben al Punt Verd i calculi el temps total requerit per atendre tots els usuaris, comptant que hi ha num_emp
empleats del Punt Verd atenent als usuaris. Els empleats atenen als usuaris per estricte ordre de cua.
La capçalera de la funció és:
/** * @pre 'num_emp' és el nombre d'empleats del Punt Verd atenent als usuaris, * 'q' conté la successió d'enters que són els números d'ítems de cada usuari. * @post Es retorna el temps mínim necessari per atendre a tots els usuaris. */ 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