Submission #1146155

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
11461552025-02-05 15:54:24wikidereBuilding Bridges (CEOI17_building)Pypy 3
0 / 100
195 ms84636 KiB
from collections import deque
def min_bridge_cost(n, h, w):
# Prefix sum of w
prefixW = [0] * n
prefixW[0] = w[0]
for i in range(1, n):
prefixW[i] = prefixW[i - 1] + w[i]
# dp[i] stores the minimum cost to reach pillar i
dp = [float('inf')] * n
dp[0] = 0 # Base case: first pillar is always included
# Monotonic deque to optimize DP recurrence
dq = deque([(0, 0)]) # Stores (index, dp value)
def cost(i, j):
""" Returns cost of moving from i to j """
return (h[i] - h[j]) ** 2 + (prefixW[j - 1] - prefixW[i])
for j in range(1, n):
# Remove from deque if it's no longer optimal
while len(dq) > 1 and cost(dq[0][0], j) >= cost(dq[1][0], j):
dq.popleft()
# Compute dp[j] using best available i
best_i = dq[0][0]
dp[j] = dp[best_i] + cost(best_i, j)
# Maintain the deque
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stdout)

Compiling 'building.py'...

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

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