방탄 유리 시험 예산
면접 대비시간 제한1초메모리 제한256 MB
총알값과 유리 교체값을 고려해 최악의 경우에도 파괴 한계 거리를 확정하는 최소 예산을 구합니다.
- 난이도
보통10점 중 6점
- 유형
- 동적 계획법
- 정답자
- 아직 제출이 없습니다
문제
사장은 자기 목숨이 위험하다고 여겨 차에 방탄 유리를 달았다. 그런데 이 유리가 정말 방탄인지 의심스럽다. 피트 떨어진 곳에서 한 발을 쐈더니 유리는 깨지지 않았지만, 더 가까이에서 쏘면 깨질지도 모른다.
유리에는 알려지지 않은 한계 거리 가 있다. 피트 이상 떨어진 곳에서 쏜 총알은 유리를 깨뜨리지 못하고, 피트보다 가까운 곳에서 쏜 총알은 유리를 깨뜨린다. 피트에서 쏜 한 발이 유리를 깨뜨리지 못했으므로 이다. 사장이 알고 싶은 값이 바로 이 이다.
시험은 정수 피트 위치에서만 한다. 총알 한 발을 쏘는 비용은 이다. 쏜 총알에 유리가 깨지면 그 유리를 새로 마련하는 비용 가 더 든다. 더 쏠 필요가 없어도 교체 비용은 똑같이 든다. 깨지지 않은 유리는 그대로 다음 한 발에 쓴다.
피트에서 피트까지 한 피트씩 내려가며 쏘면 깨지는 유리는 많아도 한 장이므로 이하의 비용으로 를 알아낼 수 있다. 유리를 더 깨뜨리고 총알 수를 줄이는 쪽이 더 쌀 때도 있다.
어느 위치에서 깨지든 를 반드시 알아낼 수 있어야 한다. 최악의 경우까지 감당하는 최소 예산을 구하라.
입력
첫 줄에 시험 구성의 개수 이 주어진다. ()
다음 개의 줄에 각각 세 정수 , , 가 공백으로 구분되어 주어진다. 는 유리가 깨지지 않는 것을 확인한 거리 (), 는 유리 한 장의 값 (), 는 총알 한 발의 값 ()이다.
출력
각 시험 구성마다 Case #n: 을 먼저 출력하고, 이어서 그 구성의 시험에 필요한 최소 예산을 출력한다. 은 입력에 주어진 순서대로 부터 세는 구성 번호이다.