|
Параллельные процессы
(Время: 1 сек. Память: 32 Мб Сложность: 56%)
Вам дана информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостанавливать процесс нельзя. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Все независимые друг от друга процессы могут выполняться параллельно. При этом каждый процесс должен выполняться как можно раньше.
Требуется определить:
Входные данные
Входной файл INPUT.TXT состоит N строк, в каждой из которых записана информация об одном процессе, которая задается последовательностью целых чисел, разделенных пробелом: ID процесса B, время T выполнения процесса в миллисекундах, далее следуют ID процессов A, которые должны быть выполнены до начала выполнения процесса B. Если процессы типа A отсутствуют, то третье число в строке равно 0. Гарантируется, что все ID процессов различны и выполнение всех процессов возможно.
Ограничения: 1 ≤ N ≤ 1000, 1 ≤ ID ≤ 109, 1 ≤ T ≤ 106.
Выходные данные
В выходной файл OUTPUT.TXT выведите три целых числа по одному в строке:
- Минимальное время в миллисекундах, через которое завершится выполнение всей совокупности процессов.
- Максимальное количество одновременно выполняющихся процессов.
- Время в миллисекундах, в течении которого выполняется максимально возможное количество процессов.
Примеры
| № | INPUT.TXT | OUTPUT.TXT |
| 1 | 1 4 0
2 3 0
3 1 1 2
4 7 3 | 12
2
3 |
| 2 | 1 3 0
2 4 1
3 2 2 4
4 5 0
5 8 1 4 | 13
2
9 |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
| |