기구 회수
시간 제한5초메모리 제한512 MB
고도마다 다른 바람을 타는 풍선을 옮기는 데 공유 에너지를 나눠 모든 풍선이 원점에 모이는 시각을 앞당깁니다.
문제
G사는 하늘에 기구를 여러 개 띄워 두었다. 정비를 하려면 기구를 회수해야 하는데, 회수 지점은 가로 좌표 에 서 있는 회사 탑이다. 번 기구는 가로 좌표 , 높이 에 떠 있다.
기술진은 무선 신호를 보내 기구가 모래주머니를 버리거나 공기를 빼도록 해서 기구를 올리고 내린다. 가로 방향으로는 기구를 직접 움직이지 못하고, 그 높이에 부는 바람에만 의존한다.
기구가 머무를 수 있는 높이는 개이고 번부터 번까지 번호가 붙어 있다. 높이 에 부는 바람의 속도는 이다. 가 양수면 바람이 왼쪽에서 오른쪽으로 불고, 음수면 오른쪽에서 왼쪽으로 분다. 좌표 에 있는 기구가 속도 인 높이에 계속 머무르면 시간 가 흐른 뒤 좌표는 가 된다. 시간은 연속으로 흐르므로 는 실수일 수 있다. 기구의 좌표가 이 되는 순간 그 기구는 바로 회수된다.
기구 하나를 높이 에서 높이 로 옮기는 데는 에너지 가 든다. 높이를 바꾸는 데 시간은 들지 않고, 원하는 시각에 몇 번이든 바꿀 수 있다. 쓸 수 있는 에너지는 기구 전체를 통틀어 이며, 전부 쓰지 않아도 된다.
에너지를 가장 잘 써서 모든 기구를 회수할 때 걸리는 시간을 구하라. 시간은 정수 단위로 센다. 즉 모든 기구가 회수되는 가장 이른 시각보다 크거나 같은 정수 중 가장 작은 값이 답이다. 마지막 기구가 시각 에 회수되면 답은 이다.
입력
첫 줄에 테스트 케이스의 수 가 주어진다.
각 테스트 케이스의 첫 줄에는 기구의 수 , 높이의 개수 , 쓸 수 있는 에너지 가 공백으로 구분되어 주어진다. 둘째 줄에는 개의 정수가 주어지며, 그중 번째 값(부터 센다)이 높이 의 바람 속도 이다. 이어지는 개의 줄에는 각각 번 기구의 좌표 와 높이 가 주어진다.
제한
출력
각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. 는 테스트 케이스 번호이고 부터 시작한다. 는 모든 기구를 회수하는 데 걸리는 시간의 최솟값이다. 주어진 에너지로 모든 기구를 회수할 수 없다면 자리에 IMPOSSIBLE을 출력한다.
설명
첫 번째 예제의 첫 테스트 케이스에는 기구가 두 개 있고 에너지는 이다. 좌표 , 높이 에 있는 기구를 에너지 을 써서 높이 로 내리는 것이 가장 좋다. 높이 의 바람 속도가 이므로 이 기구는 시각 에 탑에 닿는다. 좌표 , 높이 에 있는 기구는 속도 인 바람을 타고 시각 에 탑에 닿는다. 두 기구가 모두 회수되는 가장 이른 시각이 이므로 답은 이다.