Algorithm Problems

[백준] [Python] 13305번 주유소 - Greedy

WakaraNai 2021. 6. 1. 20:34
728x90
반응형

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

 

13305번: 주유소

표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1

www.acmicpc.net

 

 

Hint

저렴한 기름값이 나오면 그 값을 계속 유지함

 

Python

import sys

n = int(sys.stdin.readline()) # number of city
# length of road
road = list(map(int, sys.stdin.readline().split()))
# price of oil
oil = list(map(int, sys.stdin.readline().split()))

total = road[0]*oil[0]

for i in range(1,n-1):
    if oil[i-1] > oil[i]:
        total += road[i]*oil[i]
    else:
        oil[i] = oil[i-1]   # 더욱 저렴한 리터가 나오면 계속 이어서 사용    
        total += road[i]*oil[i-1]
    #print(road[i],oil[i])
        
print(total)

 

 

 

728x90
반응형