[백준] 주유소_13305번

[백준] 주유소


문제


링크 : BOJ





풀이

1km 당 1리터의 기름을 사용할 때 주유소에서 리터당 판매하는 가격이 주어지고,
주유소와 주유소 사이의 거리가 주어질 때 최소값을 구하는 문제이다.
주유소를 들릴 때, 이전 리터당 가격보다 적을 때만 값을 계산해준다.
아니라면 이전 리터당 가격을 그대로 이용한다.

  1. 시작 가격은 무조건 가격에 포함되므로 다음 주유소의 거리를 계산해서 넣어준다.
  2. 시작 가격이 다음 가격보다 작을 때, 가격을 바꿔주고 거리를 계산해서 누적해준다.
n = int(input())
d = list(map(int, input().split()))
v = list(map(int, input().split()))
start = v[0]
result = start * d[0]
for i in range(1, n-1):
    if start >= v[i]:
        start = v[i]
    result += start * d[i]
print(result)

실수했던 점


태그: ,

카테고리:

업데이트: