์ฝํ
์ค๋น
<dp> ๋ฐฑ์ค 4097๋ฒ. ์์ต (์ค๋ฒ 2)
์๋๋ค
2023. 1. 10. 15:36
https://www.acmicpc.net/problem/4097
4097๋ฒ: ์์ต
์ ๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ N์ด ์ฃผ์ด์ ธ ์๋ค. (1 ≤ N ≤ 250,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋งค์ผ ๋งค์ผ์ ์์ต P๊ฐ ์ฃผ์ด์ง๋ค. (-10,000 ≤ P ≤ 10
www.acmicpc.net
"""
๋ฌธ์ ์ดํด :
1 2 3 4 5 6
-3 4 9 -2 -5 8
-3 1 10 8 3 11
i๊ฐ 0๋ณด๋ค ์์ผ๋ฉด pop()
"""
import sys
input = sys.stdin.readline
while 1:
n = int(input())
if n == 0:
break
lst = []
for i in range(n):
lst.append(int(input()))
# lst[0] = max(0, lst[0]) #์ด๋ผ ๊ฐ์ด ์์์ผ ๋, 0 ๊ฐ์ด ๋ค์ด๊ฐ ์ ์์
for i in range(1, n):
lst[i] = max(lst[i - 1] + lst[i], lst[i])
print(max(lst))
ํ ๋ฒ์ ๋ง์ถ๋๋ก ๋ ธ๋ ฅํ์ !