[백준/파이썬] 13305번: 주유소

수박강아지·2025년 1월 23일

BAEKJOON

목록 보기
32/174

문제

https://www.acmicpc.net/problem/13305

풀이

문제가 상당히 길었지만 잘만 읽으면 굉장히 쉽게 풀 수 있습니다.

  • N개의 도시
  • 도시 사이의 거리 주어짐
  • 각 도시마다 주유 가능
    • 기름값은 상이
  • 최소 비용

가격을 최소화하기 위해선 가격이 싼 곳에서 주유를 많이 해야 합니다.

코드

import sys
input = sys.stdin.readline

n = int(input()) # 도시의 개수
lng = list(map(int,input().split())) # 도시 사이의 거리
price = list(map(int,input().split())) # 각 도시의 기름값

chk = price[0] # 최소 기름값
res = 0 # 총 가격

for i in range(n-1):
    if chk > price[i]: # 다음에 방문할 도시의 기름값이 더 쌀 때
        chk = price[i] # 최소값 변경
    res += chk * lng[i] # 최소 기름값 * 거리

print(res)

0개의 댓글