[๋ฐฑ์ค 11501 ๐ฅ] ์ฃผ์
https://www.acmicpc.net/problem/11501
11501๋ฒ: ์ฃผ์
์ ๋ ฅ์ ์ฒซ ์ค์๋ ํ ์คํธ์ผ์ด์ค ์๋ฅผ ๋ํ๋ด๋ ์์ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ์ผ์ด์ค ๋ณ๋ก ์ฒซ ์ค์๋ ๋ ์ ์๋ฅผ ๋ํ๋ด๋ ์์ฐ์ N(2 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๊ณ , ๋์งธ ์ค์๋ ๋ ๋ณ ์ฃผ๊ฐ๋ฅผ ๋ํ
www.acmicpc.net
๋ฌธ์
ํ์ค์ด๋ ์์ฆ ์ฃผ์์ ๋น ์ ธ์๋ค. ๊ทธ๋ ๋ฏธ๋๋ฅผ ๋ด๋ค๋ณด๋ ๋์ด ๋ฐ์ด๋, ๋ ๋ณ๋ก ์ฃผ๊ฐ๋ฅผ ์์ํ๊ณ ์ธ์ ๋ ๊ทธ๊ฒ ๋ง์๋จ์ด์ง๋ค. ๋งค์ผ ๊ทธ๋ ์๋ ์ธ ๊ฐ์ง ์ค ํ ํ๋์ ํ๋ค.
- ์ฃผ์ ํ๋๋ฅผ ์ฐ๋ค.
- ์ํ๋ ๋งํผ ๊ฐ์ง๊ณ ์๋ ์ฃผ์์ ํ๋ค.
- ์๋ฌด๊ฒ๋ ์ํ๋ค.
ํ์ค์ด๋ ๋ฏธ๋๋ฅผ ์์ํ๋ ๋ฐ์ด๋ ์๋ชฉ์ ๊ฐ์ก์ง๋ง, ์ด๋ป๊ฒ ํด์ผ ์์ ์ด ์ต๋ ์ด์ต์ ์ป์ ์ ์๋์ง ๋ชจ๋ฅธ๋ค. ๋ฐ๋ผ์ ๋น์ ์๊ฒ ๋ ๋ณ๋ก ์ฃผ์์ ๊ฐ๊ฒฉ์ ์๋ ค์ฃผ์์ ๋, ์ต๋ ์ด์ต์ด ์ผ๋ง๋ ๋๋์ง ๊ณ์ฐ์ ํด๋ฌ๋ผ๊ณ ๋ถํํ๋ค.
์๋ฅผ ๋ค์ด ๋ ์๊ฐ 3์ผ์ด๊ณ ๋ ๋ณ๋ก ์ฃผ๊ฐ๊ฐ 10, 7, 6์ผ ๋, ์ฃผ๊ฐ๊ฐ ๊ณ์ ๊ฐ์ํ๋ฏ๋ก ์ต๋ ์ด์ต์ 0์ด ๋๋ค. ๊ทธ๋ฌ๋ ๋ง์ฝ ๋ ๋ณ๋ก ์ฃผ๊ฐ๊ฐ 3, 5, 9์ผ ๋๋ ์ฒ์ ๋ ๋ ์ ์ฃผ์์ ํ๋์ฉ ์ฌ๊ณ , ๋ง์ง๋ง๋ ๋ค ํ์ ๋ฒ๋ฆฌ๋ฉด ์ด์ต์ด 10์ด ๋๋ค.
์ ๋ ฅ
์ ๋ ฅ์ ์ฒซ ์ค์๋ ํ ์คํธ์ผ์ด์ค ์๋ฅผ ๋ํ๋ด๋ ์์ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ์ผ์ด์ค ๋ณ๋ก ์ฒซ ์ค์๋ ๋ ์ ์๋ฅผ ๋ํ๋ด๋ ์์ฐ์ N(2 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๊ณ , ๋์งธ ์ค์๋ ๋ ๋ณ ์ฃผ๊ฐ๋ฅผ ๋ํ๋ด๋ N๊ฐ์ ์์ฐ์๋ค์ด ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์์๋๋ก ์ฃผ์ด์ง๋ค. ๋ ๋ณ ์ฃผ๊ฐ๋ 10,000์ดํ๋ค.
์ถ๋ ฅ
๊ฐ ํ ์คํธ์ผ์ด์ค ๋ณ๋ก ์ต๋ ์ด์ต์ ๋ํ๋ด๋ ์ ์ ํ๋๋ฅผ ์ถ๋ ฅํ๋ค. ๋ต์ ๋ถํธ์๋ 64bit ์ ์ํ์ผ๋ก ํํ ๊ฐ๋ฅํ๋ค.
๋ฌธ์ ํ์ด
- ์ต๋ ์์ต์ ์ป์ผ๋ ค๋ฉด, ์ฃผ๊ฐ๊ฐ ์ต๊ณ ๊ฐ๋ณด๋ค ๋ฎ์ ๋ ์ฌ์ ์ต๊ณ ๊ฐ ์ผ๋ ํ์์ผ ํ๋ค.
- ์ฃผ๊ฐ ๋ฐฐ์ด์ ์์์๋ถํฐ ๋ค์ ๋จ์ ์ฃผ๊ฐ ์ค ์ต๊ณ ๊ฐ๋ฅผ ๊ตฌํ๋ ค๊ณ ํ๋ฉด ๋ ์ ์ N์ด ์ต๋ 1,000,000์ด๊ธฐ ๋๋ฌธ์ ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
- ๊ทธ๋์ ์ฃผ๊ฐ ๋ฐฐ์ด์ ๋ค์์๋ถํฐ ์์ผ๋ก ์ต๊ณ ๊ฐ(max_price)๋ฅผ ๊ฐฑ์ ํด๋๊ฐ๋ฉด์ ํ์ฌ ๋ ์ ์ฃผ๊ฐ(prices[d])๊ฐ ์ต๊ณ ๊ฐ๋ณด๋ค ๋ฎ์ผ๋ฉด (์ต๊ณ ๊ฐ-ํ์ฌ ์ฃผ๊ฐ)๋ฅผ ์ด์ต(profit)์ ๋ํด์ค๋ค.
- ์ต๊ณ ๊ฐ๋ณด๋ค ํฐ ๊ฒฝ์ฐ์ ์ต๊ณ ๊ฐ๋ฅผ ๊ฐฑ์ ํด์ค๋ค.
- ๋งจ ๋ท๋ ๋ถํฐ ๋งจ ์๋ ๊น์ง ์ด์ต์ ๊ณ์ฐํด์ฃผ๊ณ ๊ฐ ํ ์คํธ์ผ์ด์ค๋ณ๋ก ๊ณ์ฐํ ์ด์ต์ ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
import sys
t=int(sys.stdin.readline())
for _ in range(t):
days=int(sys.stdin.readline())
prices=list(map(int, sys.stdin.readline().split(' ')))
max_price=0
profit=0
for d in range(days-1,-1,-1):
if prices[d]>max_price:
max_price=prices[d]
elif prices[d]<max_price:
profit+=(max_price-prices[d])
print(profit)