본문 바로가기

PS

연속합 [백준 1912]

1. 문제 접근 방법

- 누적합이 음수인 경우, 현재 위치의 값이 누적합보다 클 경우, 대체해준다는 것이 

  핵심 아이디어인 문제이다. 

- maxSum과 sum을 구분해서 선언하고, 각각을 계속해서 반복적으로 업데이트 해야 한다. 

n = int(input())

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

maxSum = A[0]
sum = A[0]

for i in range(1, n):
    
    sum = max(sum+A[i], A[i])
    maxSum = max(maxSum, sum)
    

print(maxSum)