You are viewing a single comment's thread. Return to all comments →
What is wrong with the code?
from functools import reduce _dp={} _dp_sum={} M=10**9+7 def _build_dp_sum(arr): global _dp_sum _dp_partitial_sums=[[0 for _ in range(len(arr))] for _ in range(len(arr))] for i in range(len(arr)): _dp_partitial_sums[i][i]=arr[i] for i in range(len(arr)): for j in reversed(range(i)): _dp_partitial_sums[j][i]=_dp_partitial_sums[j+1][i]+arr[j] _dp_sum=[0]*len(arr) _dp_tmp=[0]*len(arr) for i in range(1, len(arr)): for j in range(i): print("tmp sum", i, j, i-j,_dp_partitial_sums[j+1][i]) _dp_tmp[i]+=(i-j)*_dp_partitial_sums[j+1][i] _dp_sum[0]=0 for i in range(1, len(arr)): _dp_sum[i]+=_dp_sum[i] for j in range(1, i): _dp_sum[i]+=_dp_partitial_sums[j][i] _dp_sum[i]+=arr[i]*sum(range(1, i)) _dp_sum[i]+=_dp_partitial_sums[i][i] print(_dp_sum) print(_dp_tmp) print(_dp_partitial_sums) def _next_sum(arr): global _dp global _dp_sum _dp=[0]*len(arr) _dp[0]=arr[0] _build_dp_sum(arr) for i in range(1, len(arr)): _dp[i]=reduce(lambda s,j: s+_dp[j], range(i), 0)+_dp_sum[i] print(f"_dp {_dp}, _dp_sum[i] {_dp_sum[i]}, _dp[i] {_dp[i]}") return _dp[-1] def summingPieces(arr): _sum=_next_sum(arr) return _sum # Write your code here if __name__ == '__main__': fptr = open(os.environ['OUTPUT_PATH'], 'w') arr_count = int(input().strip()) result = summingPieces(arr) fptr.write(str(result) + '\n') fptr.close()
Seems like cookies are disabled on this browser, please enable them to open this website
Summing Pieces
You are viewing a single comment's thread. Return to all comments →
What is wrong with the code?