728x90
#13305 주유소 https://www.acmicpc.net/problem/13305
어제 기하학 플래티넘 문제를 풀고 멘탈이 나가있던 상황에서, 오늘은 이 문제를 풀게됐다.
그냥 쉬웠다.
그리디 알고리즘인 만큼 논리적으로 최적해를 찾아내면 된다.
n = int(input())
distance = [int(x) for x in input().split()]
oil_cost = [int(x) for x in input().split()]
answer = 0
i = 0
while i < n:
now = oil_cost[i]
for j in range(i + 1, n):
next = oil_cost[j]
if next < now:
break
else: # 현재 위치보다 작은게 없는 경우
answer += now * sum(distance[i:])
break
next = j
answer += sum(distance[i:j]) * now
i = j
print(answer)
'Algorithm > acmicpc.net' 카테고리의 다른 글
어렵다어렵다 하면 어렵고 쉽다 쉽다 하면 쉽다 (#1865 웜홀) (2) | 2024.10.16 |
---|---|
아니 이걸 어떻게 풀어 (#1708 볼록 껍질) (3) | 2024.10.15 |
이제는 플레를 향해 (#11375) (2) | 2024.10.13 |
두 개의 변량을 반영한 값을 만든다면 (#9251) (0) | 2024.10.13 |
트리의 지름을 구하는게 공식이 있다니... (#1167) (2) | 2024.10.10 |