你的任務是找出:在所有可能的連續天數當中,哪一段的總收益最高?這個最高收益就是 你的程式必須輸出的連續最大收益。假設某人連續6天的投資結果為: −99, 10, −9, 10, −5, 4 在這些天數中,連續某一段期間的最大總收益是: 10 + (−9) + 10 = 11 這段最佳投資期間出現在第2、3、4天。請你寫出能計算這個「連續最大收益」的程式。
num = int(input())
for i in range(num):
rounds = int(input())
if rounds == 0:
break
else:
moneys = list(map(int,input().split(' ')))
dp = moneys
for i in range(1,len(moneys)):
dp[i] = max(moneys[i], moneys[i] + dp[i-1])
# 暴力解
# ans = max(ans,max(moneys))
# for i in range(len(moneys)):
# temp_n = 0
# for j in range(i,len(moneys)):
# temp_n += moneys[j]
# ans = max(ans,temp_n)
if max(dp) > 0:
print(f"The maximum winning streak is {max(dp)}.")
else:
print("Losing streak.")