알고리즘

[백준 알고리즘] 1912번 연속합. 파이썬(python)

삶은겨란 2022. 7. 19. 17:39
import sys
input=sys.stdin.readline

n=int(input())
a=list(map(int,input().split()))
dp=[0]*(n)
dp[0]=a[0] # 첫번째 값

for i in range(n-1): # 결과가 dp[1]~dp[n-1] 계산
    if a[i]<0: # 현재 더하는 값이 마이너스일 때
        dp[i+1]=max(dp[i]+a[i+1], a[i+1]) # 다음 dp는 마이너스를 더한값에 새로운 값 더하는 것과 새로운 값으로 시작하는 것 중 최댓값 선택
    else: # 현재 더하는 값이 플러스 일때
        dp[i+1]=dp[i]+a[i+1] # 더한다
print(max(dp))