티스토리 뷰

728x90
반응형

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

 

13305번: 주유소

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

www.acmicpc.net

 

내 풀이

import sys
n = int(sys.stdin.readline())
road = list(map(int,sys.stdin.readline().split()))
city = list(map(int,sys.stdin.readline().split()))
res = 0
min_city = city[0]
for i in range(n-1):
    if city[i]<min_city:
        min_city = city[i]
    res+=min_city*road[i]
print(res)

 

문제가 길어서 풀이보다 복잡하게 느껴졌다.

방문한 도시의 기름값이 현재 최소 요금보다 크거나 같다면 다음도시까지 필요한 km 거리에 현재 최소 요금을 곱한 것을 res에 더해나간다.

방문한 도시의 기름값이 현재 최소 요금보다 작다면, 최소 요금을 업데이트하고 최소요금 * km를 res에 더한다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함