https://www.acmicpc.net/problem/13305
백준 오랜만
알고리즘 기말고사 때 나왔던 문제라서 반가웠다.
하지만 기억 안 남. 시험 때도 시간이 없기도 해서 걍 대충 휘갈겨 썼던 기억.
좀더 미리 풀어볼걸 조금 억울했음,,,
처음에 꽤 복잡하게 생각했다.
근데 풀면서는 문제가 간단하다고 생각했음.
n = int(input())
length = list(map(int, input().split()))
price = list(map(int, input().split()))
del price[n-1]
n -= 1
cost = 0
while n > 0:
len_sum = 0
minimum = min(price)
idx = price.index(minimum)
for i in range(idx, n):
len_sum += length.pop()
del price[-1]
cost += len_sum * minimum
n = idx
print(cost)
틀림ㅋ
부분점수 받았다. 기분 나빠요
원인은 시간초과···
머리 뜯는 와중에 태스크를 일일이 나누지 않고 한번에 반복문 돌면서 계산해도 된다는 것을 깨닫고 우왕 했다 ㅋㅋㅋ
n = int(input())
length = list(map(int, input().split()))
price = list(map(int, input().split()))
minimum = price[0]
cost = 0
for i in range(n-1):
if minimum > price[i]:
minimum = price[i]
cost += minimum * length[i]
print(cost)
분발하자,,,,,,,
'알고리즘 > 백준' 카테고리의 다른 글
백준 2606: 바이러스 (Python) (0) | 2022.01.29 |
---|---|
백준 1260: DFS와 BFS (Python) (0) | 2022.01.29 |
백준 1789: 수들의 합 (Python) (0) | 2021.10.02 |
백준 1946: 신입 사원 (Python) (0) | 2021.09.30 |
백준 10162: 전자레인지 (Python) (0) | 2021.09.30 |