1N = int(input())
2L = list(map(int, input().split()))
3res = 0
4dp = [[-1000]*N for _ in range(2)]
5dp[0][0] = L[0]
6for i in range(1, N):
7 dp[0][i] = max(dp[0][i-1]+L[i], L[i])
8 dp[1][i] = max(dp[1][i-1]+L[i], dp[0][i-1])
9
10print (max(max(dp[0]), max(dp[1])))
- 이번 문제에서 사용할 dp 배열의 크기는 N X 2 이다.
- 배열은 최솟값인 -1000으로 초기화하여야 한다