학생과 멘토
면접 대비메모리 제한1024 MB
각 학생마다 자신의 두 배 이하인 다른 학생의 레이팅 중 가장 높은 값을 구합니다. 그런 학생이 없으면 -1을 출력합니다.
문제
구글의 Kick Start, Code Jam 같은 프로그래밍 대회를 앞두고 명의 학생이 함께 준비한다. 서로 돕기 위해 각 학생은 다른 학생 중에서 멘토를 한 명 고른다. 멘토는 멘티가 문제를 풀고, 알고리즘을 배우고, 진도를 점검하는 등 준비 과정 전반을 돕는다.
각 학생은 다른 모든 학생 중에서 정확히 한 명의 멘토를 고르며, 한 사람이 여러 명의 멘티에게 멘토가 될 수 있다. 모든 학생 에게는 대회에서의 실력을 대략 나타내는 레이팅 가 주어진다. 멘토가 멘티보다 지나치게 강해서는 안 된다고 보므로, 학생 는 일 때에만 학생 의 멘토가 될 수 있다. 멘토의 레이팅은 멘티와 같거나 낮아도 된다.
각 학생은 가능한 한 강한 멘토를 원한다. 각 학생에 대해 고를 수 있는 멘토 레이팅의 최댓값을 구하라.
입력
첫 줄에 테스트 케이스의 수 가 주어진다. 이어서 개의 테스트 케이스가 주어지며, 각 테스트 케이스는 두 줄로 이루어진다.
각 테스트 케이스의 첫 줄에는 학생의 수 이 주어진다.
둘째 줄에는 개의 정수 이 공백으로 구분되어 주어진다. 는 번째 학생의 레이팅이다.
출력
각 테스트 케이스마다 Case #x: M1 M2 M3 ... MN 형식으로 한 줄을 출력한다. 는 1부터 시작하는 테스트 케이스 번호이고, 는 번째 학생의 멘토가 가질 수 있는 레이팅의 최댓값이다. 조건에 맞는 멘토가 없는 학생에게는 을 출력한다.
제한
- .
- 모든 에 대해 .