https://www.acmicpc.net/problem/11055
11055๋ฒ: ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด
์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ ์์ด์ ์ฆ๊ฐ ๋ถ๋ถ ์์ด ์ค์์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฒ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ฅผ ๋ค์ด, ์์ด A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} ์ธ ๊ฒฝ์ฐ์ ํฉ์ด ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์
www.acmicpc.net
n = int(input())
arr = list(map(int,input().split()))
dp = arr.copy()
result=0
for i in range(n):
#ํ์ฌ idx์ ์ด์ idx ๋น๊ต
for j in range(i):
#์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด & now dp < ์ด์ ์ ํฉ+now arr
if arr[j] < arr[i] and dp[i] < dp[j]+arr[i]:
dp[i]=dp[j]+arr[i]
# print(dp)
#์ต๋๊ฐ๊ตฌํ๊ธฐ
if result < dp[i]:
result = dp[i]
print(result)
'Problem Solving > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[baekjoon]python #10828 ์คํ, #10845 ํ, #10866 ๋ฑ (0) | 2022.05.31 |
---|---|
[baekjoon]python #5545 ์ต๊ณ ์ ํผ์ (0) | 2022.05.30 |
[baekjoon]python #11053 ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด (0) | 2022.05.20 |
[baekjoon]python #7562 ๋์ดํธ์ ์ด๋ (0) | 2022.05.20 |
[baekjoon]python #14494 ๋ค์ด๋๋ฏน์ด ๋ญ์์? (0) | 2022.05.18 |
๋๊ธ