https://cbjsprogramdiary.com/2023/01/18/g277-3-%e5%b9%b8%e9%81%8b%e6%95%b8%e5%ad%97/
感謝大神給的思路
不過我按照大神說的兩個方法修正之後
還是卡在90%
大概像這樣
def main():
from sys import stdin
def input():
return stdin.readline()
n = int(input())
a = list(map(int, input().split()))
l, r = 0, n-1
prefix = [0]*(n+1)
for i in range(n):
prefix[i] = prefix[i-1] + a[i]
while l < r:
sub = a[l:r+1]
m = sub.index(min(sub)) + l
left = (0 if m==l
else prefix[m-1] - prefix[l-1])
right = (0 if m==r
else prefix[r] - prefix[m])
if right >= left:
l = m+1
else:
r = m-1
print(a[l])
main()
請問大神有沒有甚麼建議