题解python版,没有提前申请过多元素,避免空间利用率低
if __name__ == "__main__":
n, m = map(int, input().split())
nums = [0]
nums.extend([int(digit) for digit in input().split()])
s = [0]
# 构建差分数组
for i in range(1, n + 1):
s.append(nums[i] - nums[i - 1])
s.append(0)
for i in range(m):
l, r, c = map(int, input().split())
s[l] += c; s[r+1] -= c
for i in range(1, n + 1):
s[i] += s[i-1]
# 去掉便于计算的元素
del s[0], s[-1]
print(' '.join(map(str, s)))