В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно.
Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце таблицы — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс является независимым, то в таблице указано значение 0.
Определите максимальную продолжительность отрезка времени (в мс), в течение которого возможно одновременное выполнение максимального количества процессов при условии, что все независимые друг от друга процессы могут выполняться параллельно и время окончания работы всех процессов минимально.
Типовой пример организации данных в файле:
| ID процесса B | Врем выполнения процесса B (в мс) | ID процесса(ов) А |
|---|---|---|
| 1 | 4 | 0 |
| 2 | 3 | 0 |
| 3 | 1 | 1; 2 |
| 4 | 7 | 3 |
Выполните задания, используя данные из файла ниже:
Красным обозначены тупики движения процессов, их двигать дальше не имеет смысла в соответствии с условием задачи. По итогу имеем максимальное кол-во одновременных процессов - 5. Продолжительность их выполнения - 4 м/с. Зависимый процесс двигать назад нельзя.
Ответ: 4.

