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