【模板】一维差分
提交数: 15, 通过率: 60%, 平均分: 60
题目描述:
输入一个长度为n的整数序列。
接下来输入 m 个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r] 之间的每个数加上 c。
请你输出进行完所有操作后的序列。
输入格式:
第一行包含两个整数 n 和 m。
第二行包含 n 个整数,表示整数序列。
接下来 m 行,每行包含三个整数 l,r,c ,表示一个操作。
输出格式:
共一行,包含 n 个整数,表示最终序列。
数据范围:
1≤n,m≤100000,
1≤l≤r≤n,
−1000≤c≤1000,
−1000≤ 整数序列中元素的值≤1000
样例输入:
6 3 1 2 2 1 2 1 1 3 1 3 5 1 1 6 1
样例输出:
3 4 5 3 4 2
提示:
n,m = map( int ,input().split() )
a = list( map(int, input().split() ) )
a = [0] + a
d = [ 0 for i in range(n+5) ]
for i in range(1, n+1):
d[i] = _______________
for i in range( m):
l, r ,c = map( int ,input().split())
d[l] ____________
d[r+1] ______________
for i in range( 1, n+1 ):
a[i] = _________________
for i in range( 1, n+1 ):
print( a[i] , end=" " )
时间限制: 1000ms空间限制: 256MB