n = int(input()) a = list(map(int, input().split())) ans = [0] * n for i in range(n): ans[i] = max(ans[i-1] + a[i], a[i]) print(max(ans))
단순하게 생각하면 각 숫자마다 두가지 경우의 연속합이 생길 수 있다. 1. 그 숫자로 시작하는 연속합 2. 그 숫자로 끝나는 연속합 index의 값을 차례대로 비교하면서 max를 찾는다