[백준] 13305번 주유소

거북이·2023년 1월 23일
0

백준[실버2]

목록 보기
5/81
post-thumbnail

💡문제접근

  • 테스트케이스를 기준으로 문제를 접근했다.

💡테스트케이스

입력

4
2 3 1
5 2 4 1

출력

18

  • 첫 번째 주유소에서 2km × 5원 = 10원의 비용이 발생한다. 두 번째 주유소에서 주유를 할지 말지 결정을 해야 하는데 만약 두 번째 주유소에서 주유를 하게 된다면 총 2km × 5원 + 3km × 2원 = 16원이 된다. 만약 첫 번째 주유소에서 한 번에 주유를 한다면 5km × 5원 = 25원이 된다. 주유 비용이 최소가 된다면 그 주유소에서는 무조건 주유를 해야 비용이 최소가 나올 수 있다는 점을 이용해 코드를 작성했다.

💡코드(메모리 : 45236KB, 시간 : 104ms)

N = int(input())
distance = list(map(int, input().split()))
cost = list(map(int, input().split()))

min_price = 1000000001
result = 0
for i in range(N-1):
    if min_price > cost[i]:
        min_price = cost[i]
        result += min_price * distance[i]
    else:
        result += min_price * distance[i]
print(result)

💡소요시간 : 40m

0개의 댓글