[BOJ/Step15] 1912 : μ°μν© (Python) - λΆμ°
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))