Submission #1239993

#TimeUsernameProblemLanguageResultExecution timeMemory
1239993yenthuyaBuilding Bridges (CEOI17_building)Pypy 3
0 / 100
133 ms48784 KiB
def min_bridge_cost(n, h, w):
    INF = float('inf')
    
    # Prefix sum để tính nhanh tổng w
    prefix = [0] * (n + 1)
    for i in range(n):
        prefix[i+1] = prefix[i] + w[i]
    
    dp = [INF] * n
    dp[0] = 0  # Trụ đầu tiên bắt buộc

    for i in range(1, n):
        for j in range(i):
            cost = dp[j] + (h[i] - h[j])**2 + (prefix[i] - prefix[j+1])
            dp[i] = min(dp[i], cost)
    
    return dp[n-1]

Compilation message (stdout)

Compiling 'building.py'...

=======
  adding: __main__.pyc (deflated 31%)

=======
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...