๐๏ธ Algorithm/๐ฉ ๋ฐฑ์ค
๐ฉ [๋ฐฑ์ค] [Python] 11055๋ฒ_๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด
Dbswnstjd
2022. 11. 28. 07:48
๋ฌธ์
https://www.acmicpc.net/problem/11055
11055๋ฒ: ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด
์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ ์์ด์ ์ฆ๊ฐ ๋ถ๋ถ ์์ด ์ค์์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฒ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ฅผ ๋ค์ด, ์์ด A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} ์ธ ๊ฒฝ์ฐ์ ํฉ์ด ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์
www.acmicpc.net
ํ์ด
# ๋ฐฑ์ค 11055๋ฒ ๋ฌธ์ - ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด
n = int(input())
numbers = list(map(int, input().split()))
dp = numbers[:]
dp[0] = numbers[0]
for i in range(1, n):
for j in range(i):
if numbers[j] < numbers[i]:
dp[i] = max(dp[i], dp[j] + numbers[i])
print(max(dp))