Задание №22 — Многопоточность

К списку заданий
#69683Задание №22ФИПИ
Параллельные вычисления

В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы могут выполняться только последовательно. В файле информация о процессах представлена в виде таблицы. В первой колонке таблицы указан идентификатор процесса (ID), во второй колонке таблицы — время его выполнения в миллисекундах, в третьей колонке перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс является независимым, то в таблице указано значение 0. Время выполнения одного из процессов неизвестно и для данного процесса в соответствующей колонке обозначено как t.
Типовой пример организации данных в файле:

ID процесса B Время выполнения процесса B (мс) ID процесса(ов) А
1 4 0
2 3 0
3 t 1; 2
4 7 3


Определите максимальное возможное целочисленное t (время выполнения процесса), при котором выполнение всей совокупности процессов, при условии, что все независимые друг от друга процессы могут выполняться параллельно, завершилось не более чем за 19 мс.
Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.

44239_22.xlsx

44239_22.xls

44239_22.ods