알고리즘/백준

[백준] 13305. 주유소

빙빙 2021. 4. 14. 13:38

1. 마지막 주유소는 사용을 안함( 그 주유소까지 도착하면 되기 때문) 

따라서 반복문을 하나 전까지만 돌렸다.

2. 먼저 최소값을 0번째 인덱스가 있는 것으로 세팅을 해준다.

   2.1 결과값에 곱한 값을 더해주고 다음 반복문으로 넘어감

3. 최소값이 다음 money리스트 안의 값보다 크면

   3.1 최소값 업데이트

   3.2 결과값에 곱한 값을 더해주고 다음 반복문으로 넘어감

4. 최소값이 다음 money리스트 안의 값보다 크지 않다면

   4.1 그냥 결과값에 곱한 값을 더해준다.

 


N = int(input()) # 도시의 개수
dis = list(map(int,input().split()))
money = list(map(int,input().split()))

result = 0

for i in range(0, len(money)-1):
    if i == 0:
        min_m = money[0]
        result += min_m * dis[i]
        continue
    elif min_m > money[i]:
        min_m = money[i]
        result += min_m * dis[i]
        continue
    else:
        result += min_m * dis[i]
print(result)