1. 문제 설명
https://www.acmicpc.net/problem/1912
2. 아이디어
수를 차례대로 읽으면서 값을 더하는데 조건을 몇 가지 추가해주면 끝나는 문제다.
만약 현재 누적값이 음수라면 굳이 음수를 유지할 이유가 있을까?
과감히 버리고 새로운 값을 그대로 할당시켜버리면 된다.
result는 순열의 첫 번째 값을 저장해두었다가 누적값이 result보다 작으면
그때마다 result를 갱신하면 된다.
그리 어렵지 않게 풀 수 있는 문제.
3. 코드
def solution():
n = int(input())
sequence = list(map(int, input().split()))
current, result = 0, sequence[0]
for new in sequence:
if current < 0:
current = new
else:
current += new
if result < current:
result = current
print(result)
solution()