Минимальное время выполнения процессов
В файле содержится информация о совокупности $N$ вычислительных процессов, которые могут выполняться параллельно или последовательно. Процесс $B$ зависит от процесса $A$, если для выполнения процесса $B$ необходимы результаты выполнения процесса $A$. В этом случае процессы могут выполняться только последовательно.
В первой строке таблицы указан идентификатор процесса, во второй строке — время его выполнения в миллисекундах, в третьей строке перечислены через «;» идентификаторы процессов, от которых зависит данный процесс. Если процесс является независимым, указано значение 0.
Определите минимальное время, через которое завершится выполнение всей совокупности процессов, если все независимые друг от друга процессы могут выполняться параллельно. Используйте данные из прилагаемого файла.
Условие как в банке ФИПИ — открыть и сверить
| ||||||||||||||||||
| |
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Для каждого процесса найдите самое раннее время его завершения с учётом завершения всех процессов-предшественников.
2Наводящая — какие числа считатьуровень 2 из 3
Если процесс зависит от нескольких процессов, его начало возможно после завершения самого позднего из них: $T_B = t_B + \max(T_{A_1}, T_{A_2}, \ldots)$.
3Прямая — фактически решениеуровень 3 из 3
Обработайте процессы в порядке зависимостей, вычислите время завершения каждого процесса и возьмите максимум среди всех полученных времён. Для данных файла результат равен $163$ мс.
