We will find a way, we always have.

-interstellar

Problem Solving/๋ฐฑ์ค€

[๋ฐฑ์ค€] 13305๋ฒˆ: ์ฃผ์œ ์†Œ - ํŒŒ์ด์ฌ

Redddy 2022. 4. 30. 12:41

๐Ÿ“Ž๋ฌธ์ œ๋งํฌ: https://www.acmicpc.net/problem/13305

 

13305๋ฒˆ: ์ฃผ์œ ์†Œ

ํ‘œ์ค€ ์ž…๋ ฅ์œผ๋กœ ๋‹ค์Œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ๋„์‹œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ N(2 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” ์ธ์ ‘ํ•œ ๋‘ ๋„์‹œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋„๋กœ์˜ ๊ธธ์ด๊ฐ€ ์ œ์ผ ์™ผ์ชฝ ๋„๋กœ๋ถ€ํ„ฐ N-1

www.acmicpc.net

 

๐Ÿงฉ๋ฌธ์ œ ํ•ด์„

์ „ํ˜•์ ์ธ ๊ทธ๋ฆฌ๋”” ๋ฌธ์ œ!
์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋Š”๋ฐ ๊ธฐ๋ฆ„๊ฐ’์„ ๊ฐ€์žฅ ์•„๋ผ๋ฉฐ ์ฃผ์œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๋Š”๊ฑฐ์˜€๋‹ค. ๊ธฐ๋ฆ„ํ†ต์˜ ํ•œ๊ณ„๋Š” ์—†๋‹ค๊ณ  ์ฃผ์–ด์กŒ๊ธฐ์— ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•˜๋‹ค. ์กฐ๊ธˆ์”ฉ ์กฐ๊ธˆ์”ฉ ์ฃผ์œ ํ•ด๊ฐ€๋‹ค๊ฐ€ ๊ฐ€์žฅ ์ €๋ ดํ•œ ์ฃผ์œ ์†Œ์—์„œ ๊ฐ€๋“ ์ฑ„์šด๋‹ค์Œ ๊ฐ€๋ฉด ๋œ๋‹ค.

 

๐Ÿ“˜ํ’€์ด

ํ˜„์žฌ ์ฃผ์œ ์†Œ์˜ ๊ธฐ๋ฆ„๊ฐ’ํ•˜๊ณ  ๋‹ค์Œ ์ฃผ์œ ์†Œ์˜ ๊ธฐ๋ฆ„๊ฐ’ํ•˜๊ณ  ๋น„๊ตํ•ด๊ฐ€๋ฉด์„œ ๊ธฐ๋ฆ„๊ฐ’์„ ๊ฐฑ์‹ ํ•˜๊ณ  ๊ฑฐ๋ฆฌ์ˆ˜๋ž‘ ๊ณฑํ•ด์ค€๋‹ค.

 

๐Ÿ’ป์ฝ”๋“œ

n = int(input()) # ์ฃผ์œ ์†Œ ๊ฐฏ์ˆ˜
road = list(map(int, input().split())) # ๊ฑฐ๋ฆฌ
coin = list(map(int, input().split())) # ๊ธฐ๋ฆ„๊ฐ’
result = 0
cheap = coin[0] # ์ถœ๋ฐœํ•˜๋ ค๋ฉด ์šฐ์„  ์ฒซ ์ฃผ์œ ์†Œ์—์„œ ์ฃผ์œ ํ•ด์•ผํ•จ
for i in range(n-1):
    result += road[i]*cheap # ๋‚˜์•„๊ฐˆ ๊ฑฐ๋ฆฌ๋ž‘ ํ˜„์žฌ์˜ ๊ธฐ๋ฆ„๊ฐ’์ด๋ž‘ ๊ณฑํ•œ๋‹ค.
    if cheap <= coin[i+1]: # ๋‹ค์Œ ์ฃผ์œ ์†Œ๋ณด๋‹ค ์ €๋ ดํ•˜๋‹ค๋ฉด ํŒจ์Šค
        pass
    else: # ๋‹ค์Œ ์ฃผ์œ ์†Œ๋ณด๋‹ค ๋น„์‹ธ๋‹ค๋ฉด cheap๋ฅผ ๋‹ค์Œ ์ฃผ์œ ์†Œ๋กœ ๊ฐฑ์‹ 
        cheap = coin[i+1]
print(result)

 

 

์—ญ์‹œ ๊ทธ๋ฆฌ๋”” ๋ฐฉ๋ฒ• ์ฐพ์•„๋‚ด๋Š”๊ฑด ์žฌ๋ฏธ์ง€๋‹คใ…Ž.ใ…Ž