양동이 게임
면접 대비시간 제한2초메모리 제한1024 MB
물이 1번 양동이에서 호스를 따라 아래로 흐르며 나가는 호스마다 똑같이 나뉠 때, 어떤 양동이에 최종적으로 담기는 물의 최댓값을 구한다.
문제
찬우는 천하제일 코딩대회 참가자들과 간단한 게임을 하기로 했다. 게임은 '양동이 게임'으로, 맨 위의 양동이에 물을 만큼 부어 흘려보냈을 때 최종적으로 가장 많은 물이 담긴 양동이를 선택하면 이기는 게임이다. 양동이를 고르기 전까지는 연결 상태를 알 수 없다. 하지만 찬우는 양동이들이 어떻게 연결되어 있는지 이미 알고 있는 상태였다! 찬우가 게임을 이기기 위해서 골라야 하는 양동이에는 얼마만큼의 물이 들어있는지 알아보자.
번 양동이가 항상 맨 위에 있으며, 의 양만큼 물이 채워져 있는 양동이에 개의 나가는 방향 호스가 연결되어 있으면 양동이가 비워질 때까지 호스당 씩 흐른다. 또한 양동이의 번호가 더 작을수록 위에 있기 때문에, 물은 항상 번호가 작은 양동이에서 큰 양동이로 흐른다.
입력
첫째 줄에 양동이의 개수 과 호스의 개수 이 공백으로 구분되어 주어진다.
둘째 줄부터 개의 줄에 걸쳐 호스의 정보를 나타내는 두 정수 , 가 공백으로 구분되어 주어진다. 이는 번 양동이에서 번 양동이로 물이 흐르는 호스가 있다는 뜻이다.
연결하는 양동이가 같은 호스가 여러 개 주어지지 않는다. 즉, 주어지는 모든 쌍은 서로 다르다.
출력
번 양동이에 물을 만큼 채워서 흘려보냈을 때, 한 양동이에 가장 많이 들어있는 물의 양을 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 이하이면 정답으로 처리한다.
힌트
절대오차는 실제 정답과 출력값의 차이, 상대오차(오차율)는 절대오차를 실제 정답으로 나눈 값을 의미한다. 즉, 실제 정답을 , 출력값을 라고 하면, 절대오차는 , 상대오차는 로 계산한다.