fork download
  1. d = [0,1,0,2,1,0,1,3,2,1,2,1]
  2. #print(d)
  3. n = len(d)
  4.  
  5. d_l = [0 for _ in range(n)] # max heights from left to right at the given position d[i]
  6. max_l = 0
  7. for i in range(n):
  8. max_l = max(max_l, d[i])
  9. d_l[i] = max_l
  10. #print(d_l)
  11.  
  12. d_r = [0 for _ in range(n)] # max heights from right to left at the given position d[i]
  13. max_r = 0
  14. for i in range(n-1, -1, -1):
  15. max_r = max(max_r, d[i])
  16. d_r[i] = max_r
  17. #print(d_r)
  18.  
  19. ans = 0
  20. for i in range(n):
  21. ans += min(d_l[i], d_r[i]) - d[i]
  22.  
  23. print(ans)
Success #stdin #stdout 0.02s 27712KB
stdin
Standard input is empty
stdout
6