В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце таблицы – время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс является независимым, то в таблице указано значение 0.
Определите ID процесса, который может начать своё выполнение последним, при условии, что все независимые друг от друга процессы могут выполняться параллельно, а время завершения всех процессов минимально.
Если таких процессов может быть несколько, укажите минимально возможный ID такого процесса.
Нарисуем время выполняемых процессов:
Расставим процессы по времени выполнения:
Подвинем процессы максимально влево, с условием, что время выполнения всей последовательности не изменится:
Последними начать свое выполнения могут процессы 103 и 106, минимально возможный ID это процесс 103.
Ответ: 103.

