可能是想誘導你去用前綴的方式完成,但這樣要硬爆arr(l,r) 一定會超時,其實直接用線性的方式就好了。
“ 如果現在這個區在太小就另開區間 ”
n = int(input())
li = list(map(int, input().split()))
mx = -float('inf')
cur = 0
for a in li:
cur = max(a, cur + a) # 區間設定
mx = max(mx, cur)
print(mx)
可能是想誘導你去用前綴的方式完成,但這樣要硬爆arr(l,r) 一定會超時,其實直接用線性的方式就好了。
“ 如果現在這個區在太小就另開區間 ”
n = int(input())
li = list(map(int, input().split()))
mx = -float('inf')
cur = 0
for a in li:
cur = max(a, cur + a) # 區間設定
mx = max(mx, cur)
print(mx)
Leave a Reply