В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Процесс B зависит от процесса A, если для выполнения B необходимы результаты выполнения A. В этом случае процессы выполняются только последовательно.
Информация представлена в виде таблицы:
| ID процесса | Время выполнения (мс) | ID предшественников |
|---|---|---|
| 1 | 24 | 0 |
| 2 | 20 | 0 |
| 3 | 19 | 10 |
| 4 | 22 | 0 |
| 5 | 25 | 2 |
| 6 | 23 | 4;5;7;8 |
| 7 | 18 | 5 |
| 8 | 22 | 1;5 |
| 9 | 21 | 3;4 |
| 10 | 19 | 7 |
| 11 | 22 | 15 |
| 12 | 24 | 9 |
| 13 | 25 | 10;12 |
| 14 | 20 | 11;15 |
| 15 | 24 | 0 |
| 16 | 25 | 13 |
| 17 | 22 | 14;16 |
Определите минимальное время, через которое завершится выполнение всей совокупности процессов, при условии, что все независимые друг от друга процессы могут выполняться параллельно.