https://www.acmicpc.net/problem/13305
13305๋ฒ: ์ฃผ์ ์
ํ์ค ์ ๋ ฅ์ผ๋ก ๋ค์ ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋ค. ์ฒซ ๋ฒ์งธ ์ค์๋ ๋์์ ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์ ์ N(2 โค N โค 100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ ์ธ์ ํ ๋ ๋์๋ฅผ ์ฐ๊ฒฐํ๋ ๋๋ก์ ๊ธธ์ด๊ฐ ์ ์ผ ์ผ์ชฝ ๋๋ก๋ถํฐ N-1
www.acmicpc.net
๋ฐฑ์ค ์ค๋๋ง
์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ง๊ณ ์ฌ ๋ ๋์๋ ๋ฌธ์ ๋ผ์ ๋ฐ๊ฐ์ ๋ค.
ํ์ง๋ง ๊ธฐ์ต ์ ๋จ. ์ํ ๋๋ ์๊ฐ์ด ์๊ธฐ๋ ํด์ ๊ฑ ๋์ถฉ ํ๊ฐ๊ฒจ ์ผ๋ ๊ธฐ์ต.
์ข๋ ๋ฏธ๋ฆฌ ํ์ด๋ณผ๊ฑธ ์กฐ๊ธ ์ต์ธํ์,,,
์ฒ์์ ๊ฝค ๋ณต์กํ๊ฒ ์๊ฐํ๋ค.
๊ทผ๋ฐ ํ๋ฉด์๋ ๋ฌธ์ ๊ฐ ๊ฐ๋จํ๋ค๊ณ ์๊ฐํ์.
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 |