题目描述
blablabla
样例
blablabla
算法1
差分和前缀和是一对孪生兄弟,常用于端点对数组的操作或数组对端点的操作
C++ 代码
#include <iostream>
#include <vector>
#include <stdio.h>
#include <string>
#include <algorithm>
using namespace std;
const int N = 1000010;
int a[N];
int S[N];
int main()
{
int n, m;
cin >> n >> m;
for (int i = 0; i < n; i++)
{
cin >> S[i];
if (!i)a[i] = S[i];
else a[i] = S[i] - S[i - 1];
}
while (m--)
{
int l, r, c;
cin >> l >> r >> c;
a[l-1] += c, a[r] -= c;
}
S[0] = a[0];
cout << S[0]<<" ";
for (int i = 1; i < n; i++)
{
S[i] = S[i - 1] + a[i];
cout << S[i] << " ";
}
}