В файле 22_1.xlsx содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы могут выполняться только последовательно.
Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце таблицы – время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс является независимым, то в таблице указано значение 0.
Найдите максимальное количество процессов, которые завершатся за 80 мс, при условии, что все независимые друг от друга процессы могут выполняться параллельно
В столбце D вычислим время для всех процессов, с учётом зависимости. Если процесс зависит от нескольких процессов, то время ожидания будет равно самому медленному из этих процессов. В столбце D пишем для каждой строчки: время процесса + время ожидания самого медленного процесса, от которого зависит этот процесс (если такие есть). Время самого медленного процесса можно найти с помощью функции МАКС(). Если процесс является независимым, то просто запишем время его выполнения.
Осталось посчитать количество процессов, время выполнения которых меньше 80мс. Для этого в стоблце Е пропишем условие ЕСЛИ(D2<=80;1;0) и просуммируем все значения по этому столбцу.