일단 첫번째 도시에선 무조건 주유를 해야한다. (그래야 두번째 도시에 갈 수 있음)
cost[0]*distance[0]
를 더해야야한다.
기름 값이 가장 저렴한 도시에서 최대한 많이 주유해야한다.
아무리 기름 값이 싼 도시가 나와도, 그 전까진 약간 비싼 도시에서 주유하긴 해야한다.
for 문을 이용해, 지금까지의 주유 가격보다 이번 도시에서의 가격이 작다면,
(지금 까지 왔던 거리 * 제일 작았던 주유 가격)
을 곱해 결과에 더한다.
그리고 주유 가격을 제일 작은 가격으로 바꾼다.
(앞으로는 그 값으로 계산할거기 때문에 )
이 과정을 코드로 나타내면 다음과 같다
if cost[i] < min:
res += min * dist
dist = road[i]
min = cost[i]
else :
dist += roads[i]
if i == n-2:
res += dist * min
num = int(input()) # 도시 개수
road = list(map(int, input().split())) # 도로 거리
cost = list(map(int,input().split())) # 각 도시 기름값
res = cost[0]*road[0] # 두번 째 도시로 갈때의 비용
min = cost[0]
dist = 0 #해당 도시 전까지의 거리
for i in range(1,num-1):
if cost[i] < min:
res += min * dist
dist = road[i]
min = cost[i]
else:
dist += road[i]
if i == num-2:
res += min*dist
print(res)