#33652: C++ & Python 雙題解!(附完整解題過程&程式碼)


a110608@ctes.ylc.edu.tw (鍾均)


#54491: Re: C++ & Python 雙題解!(附完整解題過程&程式碼)


jaheyhey (最喜歡Ja~~~~的那個高中生)


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()

 

請問大神有沒有甚麼建議