如何优化以下代码? 正确的问题在这里: https://www.hackerrank.com/challenges/crush/problem
if __name__=='__main__':
n, m = map(int, input().split())
list=[0]*n
for _ in range(m) :
a, b, k = map(int, (input().split()))
for i in range(a-1, b):
list[i]+=k
list.sort();
print(list[-1])
答案 0 :(得分:0)
这可以进一步优化以在O(m logm)的时间内运行,因为我们只需要检查索引的前缀和值即可。
if __name__=='__main__':
n, m = map(int, input().split())
list=[0]*(n+1)
for _ in range(m) :
a, b, k = map(int, (input().split()))
list[a-1]=list[a-1]+k
list[b] = list[b] - k;
for i in range(1,n):
list[i]+=list[i-1]
print(max(list))