🍋 문제링크


https://www.acmicpc.net/problem/11055

🍎 코드 제출 기록 (메모리 및 시간)


메모리 : 28776 KB

시간 : 188 ms

🍉 Code



import sys
input = sys.stdin.readline

def find_prev(i, arr, dp):
    tmp=[]
    for j in range(i):
        if (arr[j] < arr[i]):
            tmp.append(dp[j])
    if (len(tmp)==0):
        return -1
    return dp.index(max(tmp))

n = int(input())
arr = list(map(int, input().split()))

dp = [0]*(n+1)
dp[0] = arr[0]
for i in range(1, n):
    if (find_prev(i, arr, dp) != -1):
        dp[i] = dp[find_prev(i, arr, dp)] + arr[i]
    else:
        dp[i] = arr[i]

print(max(dp))

🥝 메모


<배열의 원소 입력받기>

arr = list(map(int, input().split()))

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/efd5ed56-8ac1-42d1-8422-c5b7fa52fb37/Untitled.png