BAEKJOON #13305 주유소
2021. 5. 10. 14:14ㆍ개발노트
이 문제의 저작권은 BAEKJOON에 있습니다.
https://www.acmicpc.net/problem/13305
풀이
- 주석참고
# 주유소
# https://www.acmicpc.net/problem/13305
n = int(input())
# 이동에 소요되는 기름
oil = list(map(int, input().split(" ")))
# 주유소 기름가격
pay = list(map(int, input().split(" ")))
# 다음 주유소까지 필요한 기름을 넣어야하므로 초기값 넣어줌
# 필요한 돈
need_money = oil[0] * pay[0]
# 기름 최저가 저장
cheap = pay[0]
# 다음 경로까지 필요한 기름
dist = 0
for i in range(1, n-1):
# 이전 주유소보다 기름이 싸다면
if pay[i] < cheap:
need_money += cheap * dist
dist = oil[i]
cheap = pay[i]
# 이전 주유소보다 기름이 비싸면
else:
# 필요 기름에 계속 추가
dist += oil[i]
# n - 2번째 까지 가격만 비교하면 됨
if i == n - 2:
need_money += cheap * dist
print(need_money)