1912๋ฒ: ์ฐ์ํฉ
์ฒซ์งธ ์ค์ ์ ์ n(1 ≤ n ≤ 100,000)์ด ์ฃผ์ด์ง๊ณ ๋์งธ ์ค์๋ n๊ฐ์ ์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด์ด ์ฃผ์ด์ง๋ค. ์๋ -1,000๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
www.acmicpc.net
๋๋ ์์ง DP ๋ฌธ์ ์ ์ ์์ ๋ชปํ๊ฑฐ๊ฐ๋ค...
๊ณ์ ํผ์๋ ๋ชปํ๊ฒ ๋ค ใ ์๋ ํ๊ธด ํธ๋๋ฐ ๊ณ์ ์๊ฐ์ด๊ณผ๋๊ณ ๋๋ฆฌ๋๋ฆฌ
์ ๋ ฅ๋ฐ์ ์ซ์๋ฅผ ์์์๋ถํฐ ํ๋์ฉ ์ ๊ฒ
์ ๋ ฅ๋ฐ์ ์ซ์๋ค์ ๋ฆฌ์คํธ num์ ์ ์ฅํ์๋ค๊ณ ํ ๋
num[n] ๊ณผ num[n] + num[n-1] ์ ๋น๊ตํ์ฌ num[n] ์ ์ ์ฅํ๋ค
num[n]์ด ๋ ํฌ๋ค๋ฉด ์์ ์๋ค์ ํฉ ์ค ๊ฐ์ฅ ํฐ
num[n] + num[n-1]์ด ๋ ํฌ๋ค๋ฉด
์์ 1๋ฒ์ ์๋ก ๋ค๋ฉด num = [10, -4, 3, 1, 5, 6, -35, 12, 21, -1]
[10, 6, 9, 10, 15, 21, -14, 12, 33, 32]
# 1912.py
n = int(input())
num = [i for i in map(int, input().split())]
for i in range(1, n):
num[i] = max(num[i], num[i] + num[i-1])
print(max(num))