輸入一個長度爲n的整數序列。html
接下來輸入m個操做,每一個操做包含三個整數l, r, c,表示將序列中[l, r]之間的每一個數加上c。ios
請你輸出進行完全部操做後的序列。atom
第一行包含兩個整數n和m。spa
第二行包含n個整數,表示整數序列。code
接下來m行,每行包含三個整數l,r,c,表示一個操做。xml
共一行,包含n個整數,表示最終序列。htm
1≤n,m≤1000001≤n,m≤100000,
1≤l≤r≤n1≤l≤r≤n,
−1000≤c≤1000−1000≤c≤1000,
−1000≤整數序列中元素的值≤1000−1000≤整數序列中元素的值≤1000blog
6 3 1 2 2 1 2 1 1 3 1 3 5 1 1 6 1
3 4 5 3 4 2
#include<iostream> using namespace std; const int N = 1e5 + 10; int a[N],b[N]; int n,m; void insert(int l,int r,int c){ b[l] += c; b[r + 1] -= c; } int main(){ cin >> n >> m; for(int i = 1;i <= n;i++){ cin >> a[i]; insert(i,i,a[i]); } while(m --){ int l,r,c; cin >> l >> r >> c; insert(l,r,c); } for(int i = 1;i <= n;i++){ b[i] += b[i - 1]; cout << b[i] << " "; } }