머나 먼 차원의 우주 어딘가에 있는 S국은 최근 N국으로 비밀 요원을 파견했다. 보안을 지키기 위해 한 비밀 요원은 반드시 정해진 한 사람에게만 연락을 취할수 있다.
전해야 할 내용이 있다면 그 내용과 함께 연락계수 t를 정하여 메세지를 보낸다.
메세지를 받은 요원은 t의 값에 따라 행동이 달라지는데,
t가 1보다 크다면 내용을 읽지 않고 다음 요원에게 t를 1 감소시켜서 전달만 한다.
t가 1이라면 더이상 전달하지 않고, 받은 요원이 내용을 읽는다.
S국은 요원 a가 보내는 메세지를 요원 b가 읽었을 경우, 요원 b가 같은 t로 메세지를 보냈을 때 요원 a가 메세지를 읽게 하는 최소 t를 알고 싶어한다.
S국의 요청을 받아 최소 t를 구하는 프로그램을 작성해보자. 참고로 자기 자신에게 연락을 하는 요원도 있다고 한다.
입력 4 2 3 1 4 출력 3 입력 4 4 4 4 4 출력 -1 입력 4 2 1 4 3 출력 1
1번 요원 -> 2번 요원 (t=3)
2번 요원 -> 3번 요원 (t=2)
3번 요원 -> 1번 요원 (t=1)
따라서 1번 요원이 보내는 메세지는 1번 요원이 받게 되고 반대로 해도 같으므로 조건을 만족한다.
나머지 2번, 3번 요원도 마찬가지이고, 4번 요원은 자기에게 메세지를 보내므로 t와 관계 없이 언제나 조건을 만족한다.
모든 요원에 대해 조건을 만족하는 최소 t는 3이므로 3을 출력한다.