본문 바로가기
백준

주유소 - 13305

by 청원뿔세포 2022. 9. 12.

기름값이 가장 적은 도시가 어디인지 먼저 알아내야한다.

그 도시가 처음 출발하는 도시면 간단하고, 아닐 경우, 처음 도시에서 기름값이 가장 싼 도시까지 가는 도중에 그나마 기름값이 싼곳을 거쳐가면 최소비용을 구할 수 있다.

그리고 가장 마지막 도시의 기름값을 알 필요가 없어서 저장하지 않거나 입력받고 삭제하는 것을 추천한다.

 

 

n = int(input())
distance = list(map(int, input().split()))
cost = list(map(int, input().split()))
cost.pop()
first_cost = cost[0]
min_cost = min(cost)
min_cost_loc = cost.index(min_cost)

pay = 0
p_cost = first_cost
if min_cost_loc > 0:
    for i in range(min_cost_loc):
        if p_cost > cost[i]:
            p_cost = cost[i]
        pay += p_cost*distance[i]
    pay += min_cost*sum(distance[min_cost_loc:])
else:
    pay = min_cost*sum(distance)
print(pay)

 

'백준' 카테고리의 다른 글

A → B - 16953번  (0) 2022.09.14
AC - 5430번  (0) 2022.09.13
DFS와 BFS - 1260번  (0) 2022.09.10
나무 자르기 - 2805번  (0) 2022.09.08
소수 구하기 - 1929번  (0) 2022.09.06

댓글