소를 위한 우산
면접 대비시간 제한1초메모리 제한128 MB
수직선 위 소들의 위치와 너비별 우산 가격이 주어질 때, 겹침을 허용하면서 모든 소를 덮는 최소 비용을 구한다.
문제
비가 오는 날입니다. 농부 John의 소 마리()는 로 번호가 매겨져 있으며, 비를 맞는 것을 좋아하지 않습니다. 소들은 수직선 위에 늘어선 지붕 없는 축사에 서 있습니다. 축사는 좌표 부터 까지()의 정수 좌표를 차지합니다. 소 는 좌표 ()에 서 있으며, 두 소가 같은 축사를 공유하지 않습니다.
소들이 비에 젖지 않도록 농부 John은 우산을 사려고 합니다. 좌표 부터 까지()를 덮는 우산의 너비는 입니다. 너비가 인 우산의 가격은 ()입니다. 더 넓은 우산이 반드시 더 비싼 것은 아닙니다.
모든 소를 비로부터 보호하는 우산 집합의 최소 총비용을 구하세요. 최적해에서 우산들은 서로 겹칠 수 있습니다.
입력
- 첫째 줄에 두 정수 과 이 공백으로 구분되어 주어집니다.
- 다음 개의 줄에는 각각 정수 가 하나씩 주어집니다.
- 그다음 개의 줄에는 각각 정수가 하나씩 주어지며, 그중 번째 줄은 너비가 인 우산의 가격 입니다.
출력
- 모든 소가 비에 젖지 않도록 우산을 사는 데 필요한 최소 비용을 정수 하나로 출력합니다.
힌트
축사는 개가 있고, 소는 , , , , , 번 축사에 있습니다. 한 축사를 덮는 우산의 가격은 , 두 축사를 덮는 우산의 가격은 , 이런 식으로 이어집니다.
너비 짜리 우산 하나, 너비 짜리 우산 하나, 너비 짜리 우산 하나를 사면 모든 소를 총 의 비용으로 덮을 수 있습니다:
UUUUUUUUUU U UUUU
C C C C C C
|--|--|--|--|--|--|--|--|--|--|--|
1 2 3 4 5 6 7 8 9 10 11 12
여기서 C는 소를, U는 우산의 일부를 나타냅니다.