현대모비스에서 개발한 실내공조 제어 시스템은 차내에 승객이 탑승 중일 때 항상 쾌적한 실내온도(t1 ~ t2)를 유지할 수 있도록 합니다. 현재(0분) 실내온도는 실외온도와 같습니다.
실내공조 제어 시스템은 실내온도를 조절하기 위해 에어컨의 전원을 켜 희망온도를 설정합니다. 희망온도는 에어컨의 전원이 켜져 있는 동안 원하는 값으로 변경할 수 있습니다. 실내온도와 희망온도가 다르다면 1분 뒤 실내온도가 희망온도와 같아지는 방향으로 1도 상승 또는 하강합니다. 실내온도가 희망온도와 같다면 에어컨이 켜져 있는 동안은 실내온도가 변하지 않습니다.
에어컨의 전원을 끄면 실내온도가 실외온도가 같아지는 방향으로 매 분 1도 상승 또는 하강합니다. 실내온도와 실외온도가 같다면 실내온도는 변하지 않습니다.
에어컨의 소비전력은 현재 실내온도에 따라 달라집니다. 에어컨의 희망온도와 실내온도가 다르다면 매 분 전력을 a 만큼 소비하고, 희망온도와 실내온도가 같다면 매 분 전력을 b 만큼 소비합니다. 에어컨이 꺼져 있다면 전력을 소비하지 않으며, 에어컨을 켜고 끄는데 필요한 시간과 전력은 0이라고 가정합니다.
실내공조 제어 시스템은 차내에 승객이 탑승 중일 때 실내온도를 t1 ~ t2 도 사이로 유지하면서, 에어컨의 소비전력을 최소화합니다.
실외온도를 나타내는 정수 temperature, 쾌적한 실내온도의 범위를 나타내는 정수 t1, t2, 에어컨의 소비전력을 나타내는 정수 a, b 와 승객이 탑승 중인 시간을 나타내는 1차원 정수 배열 onboard 가 매개변수로 주어집니다. 승객이 탑승 중인 시간에 쾌적한 실내온도를 유지하기 위한 최소 소비전력을 return 하도록 solution 함수를 완성해 주세요.
temperature ≤ 40t1 < t2 ≤ 40
temperature 는 t1 ~ t2 범위 밖의 값입니다.a, b ≤ 100
a 는 에어컨의 희망온도와 실내온도가 다를 때의 1분당 소비전력을 나타냅니다.b 는 에어컨의 희망온도와 실내온도가 같을 때의 1분당 소비전력을 나타냅니다.onboard의 길이 ≤ 1,000
onboard[i] 는 0 혹은 1이며, onboard[i] 가 1이라면 i 분에 승객이 탑승 중이라는 것을 의미합니다.onboard[0] = 0onboard 에 1이 최소 한 번 이상 등장합니다.| temperature | t1 | t2 | a | b | onboard | result |
|---|---|---|---|---|---|---|
| 28 | 18 | 26 | 10 | 8 | [0, 0, 1, 1, 1, 1, 1] | 40 |
| -10 | -5 | 5 | 5 | 1 | [0, 0, 0, 0, 0, 1, 0] | 25 |
| 11 | 8 | 10 | 10 | 1 | [0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1] | 20 |
| 11 | 8 | 10 | 10 | 100 | [0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1] | 60 |