아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

기구 회수

시간 제한5초메모리 제한512 MB

요약
고도마다 다른 바람을 타는 풍선을 옮기는 데 공유 에너지를 나눠 모든 풍선이 원점에 모이는 시각을 앞당깁니다.
난이도

어려움10점 중 8점

유형
이분 탐색, 동적 계획법
정답자
아직 제출이 없습니다

문제

G사는 하늘에 기구를 여러 개 띄워 두었다. 정비를 하려면 기구를 회수해야 하는데, 회수 지점은 가로 좌표 00에 서 있는 회사 탑이다. ii번 기구는 가로 좌표 PiP_i, 높이 HiH_i에 떠 있다.

기술진은 무선 신호를 보내 기구가 모래주머니를 버리거나 공기를 빼도록 해서 기구를 올리고 내린다. 가로 방향으로는 기구를 직접 움직이지 못하고, 그 높이에 부는 바람에만 의존한다.

기구가 머무를 수 있는 높이는 MM개이고 00번부터 M−1M-1번까지 번호가 붙어 있다. 높이 jj에 부는 바람의 속도는 VjV_j이다. VjV_j가 양수면 바람이 왼쪽에서 오른쪽으로 불고, 음수면 오른쪽에서 왼쪽으로 분다. 좌표 PP에 있는 기구가 속도 VV인 높이에 계속 머무르면 시간 tt가 흐른 뒤 좌표는 P+tVP + tV가 된다. 시간은 연속으로 흐르므로 tt는 실수일 수 있다. 기구의 좌표가 00이 되는 순간 그 기구는 바로 회수된다.

기구 하나를 높이 aa에서 높이 bb로 옮기는 데는 에너지 ∣a−b∣|a - b|가 든다. 높이를 바꾸는 데 시간은 들지 않고, 원하는 시각에 몇 번이든 바꿀 수 있다. 쓸 수 있는 에너지는 기구 전체를 통틀어 QQ이며, 전부 쓰지 않아도 된다.

에너지를 가장 잘 써서 모든 기구를 회수할 때 걸리는 시간을 구하라. 시간은 정수 단위로 센다. 즉 모든 기구가 회수되는 가장 이른 시각보다 크거나 같은 정수 중 가장 작은 값이 답이다. 마지막 기구가 시각 1.51.5에 회수되면 답은 22이다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다.

각 테스트 케이스의 첫 줄에는 기구의 수 NN, 높이의 개수 MM, 쓸 수 있는 에너지 QQ가 공백으로 구분되어 주어진다. 둘째 줄에는 MM개의 정수가 주어지며, 그중 jj번째 값(00부터 센다)이 높이 jj의 바람 속도 VjV_j이다. 이어지는 NN개의 줄에는 각각 ii번 기구의 좌표 PiP_i와 높이 HiH_i가 주어진다.

제한

  • 1≤T≤251 \le T \le 25
  • 1≤N≤1001 \le N \le 100
  • 1≤M≤10001 \le M \le 1000
  • −100≤Vj≤100-100 \le V_j \le 100
  • 1≤Q≤100001 \le Q \le 10000
  • 0≤Hi<M0 \le H_i < M
  • −10000≤Pi≤10000-10000 \le P_i \le 10000

출력

각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. xx는 테스트 케이스 번호이고 11부터 시작한다. yy는 모든 기구를 회수하는 데 걸리는 시간의 최솟값이다. 주어진 에너지로 모든 기구를 회수할 수 없다면 yy 자리에 IMPOSSIBLE을 출력한다.

설명

첫 번째 예제의 첫 테스트 케이스에는 기구가 두 개 있고 에너지는 11이다. 좌표 33, 높이 33에 있는 기구를 에너지 11을 써서 높이 22로 내리는 것이 가장 좋다. 높이 22의 바람 속도가 −2-2이므로 이 기구는 시각 1.51.5에 탑에 닿는다. 좌표 −2-2, 높이 11에 있는 기구는 속도 11인 바람을 타고 시각 22에 탑에 닿는다. 두 기구가 모두 회수되는 가장 이른 시각이 22이므로 답은 22이다.

예제2

  1. 예제 1

    입력
    2
    2 4 1
    2 1 -2 -1
    3 3
    -2 1
    1 3 1
    1 -1 -2
    -2 2
    
    예상 출력
    Case #1: 2
    Case #2: IMPOSSIBLE
    
  2. 예제 2

    입력
    3
    1 1 1
    -2
    3 0
    1 1 1
    -2
    5 0
    1 1 1
    -100
    10000 0
    
    예상 출력
    Case #1: 2
    Case #2: 3
    Case #3: 100