Олимпиадный тренинг

Задача . Параллельные процессы


Задача

Темы:

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

ID процесса B Время выполнения процесса B (мс) ID процесса(-ов) A
101 4 0
102 3 0
103 1 101; 102
104 7 103

Определите максимальную продолжительность отрезка времени (в мс), в течение которого возможно одновременное выполнение максимального количества процессов, при условии, что все независимые друг от друга процессы могут выполняться параллельно. 
В качестве ответа укажите произведение продолжительности отрезка на количество выполняемых процессов.
Например: если в течении 5 секунд могут выполнять 3 процесса, то ответ: 5 * 3 = 15
Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.

файл


time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя