반응형

 

 

 

 

www.acmicpc.net/problem/13305

 

13305번: 주유소

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

www.acmicpc.net

 

 

그리디 알고리즘으로 주유소를 지나면서

가장 주유비가 작은 비용으로 계속 더하는 방식으로 풀었습니다.

 

import sys

min = sys.maxsize
n = (int)(input())

# list에 값 넣기
listDis = list(map(int,input().split()))
listCost = list(map(int,input().split()))

# 도시를 다니면서 비용을 더하기
result = 0
for i in range(n-1):
    if(i == 0):
        result += listDis[i] * listCost[i]
        min = listCost[i]
    else:
        if listCost[i] < min:
            min = listCost[i]
        result += listDis[i] * min

print(result)

 

 

새롭게 알게된 문법 )

리스트에 값을 입력받아서 바로 넣기

listDis = list(map(int,input().split()))
listCost = list(map(int,input().split()))

 

 

 

 

 

반응형

+ Recent posts