수행해야 할 작업 $N(1 \leq N \leq 10000)$개가 주어지고, 각각의 작업마다 걸리는 시간이 정수로 주어질 때, 모든 작업을 완료하는 시간을 구하는 문제인데 어떠한 작업들은 앞서 끝내야만 시작할 수 있는 작업이 존재하고, 친절하게도 선행 작업들은 해당 작업보다 작업 번호가 낮다.
즉, $X$번째 작업의 선행 작업의 번호는 $[1 , X-1]$의 범위 안에만 존재한다는 뜻이다.
또한, 별도의 선행 작업 없이 바로 시작할 수 있는 작업들도 존재하며, 특히 1번 작업은 항상 그러하다.
따라서 (1)각 작업들의 선행/후행 구조를 방향그래프로 표현한 후 (2)선행 정점이 없는 정점들을 기준으로 탐색을 수행하며 작업 종료 시간을 갱신해 주고 (3)모든 작업들의 종료 시간을 파악해 가장 늦게 끝나는 작업의 종료 시간을 출력하면 그 시간이 모든 작업이 끝나는 시간(정답)이 된다.