fork download
  1. import math
  2. def main(arr):
  3. n=len(arr)
  4. prefix=[0]*n
  5. suffix=[0]*n
  6.  
  7. ps={-1:0}
  8. curr=0
  9. for i in range(n):
  10. x=arr[i]
  11. curr+=x
  12. ps[i]=curr
  13.  
  14. prefix_maxi=-math.inf
  15. for ij in range(n):
  16. prefix_maxi=max(prefix_maxi,ps[ij])
  17. prefix[ij]=prefix_maxi
  18.  
  19. suffix_maxi=-math.inf
  20. for jk in range(n-1,-1,-1):
  21. suffix_maxi=max(suffix_maxi,ps[jk])
  22. suffix[jk]=suffix_maxi
  23.  
  24.  
  25. maxAns=-math.inf
  26. for j in range(n):
  27. maxAns=max(maxAns,prefix[j] - ps[j] + suffix[j])
  28.  
  29. return 2*maxAns - ps[n-1]
  30.  
  31.  
  32. print(main([-3,4,-5,2,6,-5]))
Success #stdin #stdout 0.08s 7936KB
stdin
Standard input is empty
stdout
19