差分模板4.20
枚举 · 例7-【模板】差分
https://ac.nowcoder.com/acm/contest/20960/1008
/*注意数据范围,上午写的时候只看到a[i]的范围是10^7,没注意到d的范围,二者加起来就超int了,上午做的时候明明测试样例都过了 ,提交却是0%,很是苦恼,明明是个模板题,下午睡醒后又重新写了一遍,果然是范围的问题,以后一定要注意!!!前面写的前缀和的 模板题也是一样*/ #include <bits/stdc++.h> using namespace std; long long a[10000010]; long long delta[10000010]; int main(){ int n,q; cin>>n>>q; for(int i=1;i<=n;i++){ cin>>a[i]; delta[i]=a[i]-a[i-1]; } for(int i=0;i<q;i++){ int l,r,d; cin>>l>>r>>d; delta[l]+=d; delta[r+1]-=d; } for(int i=1;i<=n;i++){ a[i]=a[i-1]+delta[i]; cout<<a[i]<<" "; } return 0; }