В компьютерной системе необходимо выполнить некоторое количество вычислительных процессов, которые могут выполняться параллельно или последовательно. Для запуска некоторых процессов необходимы данные, которые получаются как результаты выполнения одного или двух других процессов — поставщиков данных. Независимые процессы (не имеющие поставщиков данных) можно запускать в любой момент времени. Если
В таблице представлены идентификатор (ID) каждого процесса, его длительность и ID поставщиков данных для зависимых процессов.
Определите, за какое минимальное время можно выполнить все процессы.
В ответе запишите целое число — минимальное время в мс.
Для начала проведем сортировку данных, чтобы отделить не зависимые процессы, зависимые от одного процесса и зависимые от двух процессов вычисления. Для этого выделим первые три столбца, а затем выберем меню «Данные — Сортировка» и отсортируем по возрастанию.
Далее нам надо разделить данные в столбце «ID поставщиков данных» для тех процессов, где есть зависимость от двух процессов. Для этого выделим
В столбце E будем считать общее время на выполнение процесса. Для независимых процессов перенесем данные
Теперь посчитаем время у процессов зависящих от одного процесса. Для этого
=B2+3+ВПР(C2;A:E;5;0),
где B2 — время самого процесса, 3 — время после завершения
Далее будем считать время процессов, зависящих от
=B38+3+МАКС(ВПР(C38;A:E;5;0);ВПР(D38;A:E;5;0)).
Скопируем формулу во все ячейки диапазона E38:E66.
Найдем самый длительный процесс, введя формулу =МАКС(E2:E101), это и будет минимальное время выполнения всех процессов.
Ответ: 581.

