화장실 칸 고르기
면접 대비시간 제한5초메모리 제한512 MB
K명이 비어 있는 구간을 규칙에 따라 나눠 앉을 때, 마지막으로 앉은 사람이 고른 자리의 좌우 빈 칸 수를 구한다.
문제
어떤 화장실에는 칸이 한 줄로 개 있다. 양쪽 끝 두 칸은 관리인이 계속 쓰고 있어서 절대 비지 않고, 나머지 개를 이용자가 쓴다.
화장실에 들어온 사람은 다른 사람과 최대한 멀리 떨어진 칸을 고른다. 고르는 방법은 다음과 같이 정해져 있다. 비어 있는 칸 마다 두 값 와 를 구한다. 는 의 왼쪽에서 가장 가까운 사용 중인 칸까지 사이에 있는 빈 칸의 수이고, 는 오른쪽으로 잰 같은 값이다. 먼저 가 가장 큰 칸만 남긴다. 그런 칸이 하나뿐이면 그 칸을 고르고, 여럿이면 그중 가 가장 큰 칸을 고른다. 그래도 여럿 남으면 가장 왼쪽 칸을 고른다.
명이 차례로 들어온다. 한 사람이 칸을 고른 뒤에 다음 사람이 들어오고, 아무도 나가지 않는다.
마지막 번째 사람이 고른 칸 에 대해 와 를 구하라.
입력
첫째 줄에 테스트 케이스의 수 가 주어진다. 다음 개의 줄에 테스트 케이스가 한 줄에 하나씩 주어지며, 각 줄에는 두 정수 과 가 주어진다.
제한
출력
각 테스트 케이스마다 Case #x: y z 형식으로 한 줄씩 출력한다. 는 1부터 시작하는 테스트 케이스 번호, 는 마지막 사람이 고른 칸 의 , 는 같은 칸의 이다.
힌트
첫 번째 테스트 케이스에서는 첫 사람이 가운데 두 칸 중 왼쪽 칸에 들어가 O.O..O가 된다. O는 사용 중인 칸, .은 빈 칸이다. 마지막 사람인 두 번째 사람은 그 바로 오른쪽 칸에 들어가므로 한쪽에는 빈 칸이 1개, 반대쪽에는 0개 남는다.
두 번째 테스트 케이스에서는 첫 사람이 한가운데 칸에 들어가 O..O..O가 된다. 마지막 사람인 두 번째 사람은 가장 왼쪽 칸에 들어간다.
세 번째 테스트 케이스에서는 첫 사람이 가운데 두 칸 중 왼쪽 칸에 들어가 O..O...O가 된다. 두 번째 사람은 연속한 빈 칸 세 개의 한가운데에 들어간다.
네 번째 테스트 케이스에서는 누가 어느 칸을 고르든 마지막에는 모든 칸이 찬다.
다섯 번째 테스트 케이스에서는 한 명뿐인 사람이 가운데 두 칸 중 왼쪽 칸을 고른다.