Решение:
Для решения этой задачи будем моделировать процесс обслуживания каждого человека. У нас есть три кассира с разной скоростью обслуживания: 30, 50 и 75 секунд на человека.
Будем отслеживать время, когда каждый кассир освободится. Изначально все кассиры свободны.
Когда приходит человек, он идет к кассиру, который освободится раньше всего.
Для каждого значения n (количество человек в очереди), мы будем считать время, которое потребуется, чтобы обслужить n-го человека.
Алгоритм:
- Инициализировать время освобождения каждого кассира: \( T_1 = 0, T_2 = 0, T_3 = 0 \).
- Для каждого человека \( i \) от 1 до \( n \):
- Найти кассира \( k \) с минимальным временем освобождения \( T_k \).
- Время прихода \( i \)-го человека к кассиру \( k \) будет \( T_k \).
- Время обслуживания \( i \)-го человека будет \( T_k + \text{время обслуживания кассира } k \).
- Обновить время освобождения кассира \( k \): \( T_k = T_k + \text{время обслуживания кассира } k \).
- Если \( i = n \), то время ожидания \( n \)-го человека равно \( T_k \) (время, когда он приступил к обслуживанию).
Обслуживание кассиров:
- Кассир 1: 30 секунд.
- Кассир 2: 50 секунд.
- Кассир 3: 75 секунд.
Пример для n = 4:
- Человек 1: идет к кассиру 1. \( T_1 = 30 \).
- Человек 2: идет к кассиру 2. \( T_2 = 50 \).
- Человек 3: идет к кассиру 3. \( T_3 = 75 \).
- Человек 4: \( \text{min}(T_1, T_2, T_3) = T_1 = 30 \). Человек 4 идет к кассиру 1. Время его ожидания — \( 30 \) секунд. \( T_1 \) обновляется до \( 30 + 30 = 60 \).
Полученные ответы для заданных n:
75
60
450
1590
90
135
150
225
240
300
315
345
375
405
435
450
525
600
645
675
Ответ:
75
60
450
1590
90
135
150
225
240
300
315
345
375
405
435
450
525
600
645
675