Научный проект
Научный проект состоит из N
задач и выполняется на N
-процессорном суперкомпьютере, каждая задача на одном из процессоров. Задачи могут выполняться параллельно с другими задачами, но некоторым из них необходимо иметь результаты некоторых других задач проекта. Для каждой задачи известно время, необходимое для её выполнения, и список предыдущих задач, которые должны быть завершены перед её запуском (этот список может быть и пустым).
Найти минимальное время, необходимое для выполнения всех N
задач проекта, или вывести -1
, если сделать это невозможно. Все входные числовые значения натуральны, не превышающие 100.
Входные данные
Первая строка - значение N
, в последующих N
строках - время и список предшествующих задач (если они есть) для каждой задачи.
Выходные данные
Единственное число - минимальное время выполнения проекта или -1
, если проект выполнить невозможно.