본문 바로가기
Tech/Coding

🐨백준-파이썬]# 13305번 주유소(그리디 알고리즘)

by redcubes 2024. 3. 25.

이 문제는 그리디인 것을 알겠다.

지금까지 나온 최저가를 경신해가면서 다음도시까지 주유하면 된다.

어차피 더 좋은 대안이 있어도 도착해야 닿을 수 있으니 지금까지의 최대 이익만 생각하면 되는 문제라고 할 수 있다.

1. 유가경신

2다음도시 이동(거리와 곱해서 가격에 더하기)

 

'''
4
2 3 1
5 2 4 1
'''

n = int(input())
distance = list(map(int, input().split()))
oil_price = list(map(int, input().split()))
best_price = float('infinity')
cost = 0
for i in range(n-1):
    if oil_price[i] < best_price:
        best_price = oil_price[i]
    cost += best_price * distance[i]
print(cost)