#include <iostream> #include <vector> using namespace std; int main() { int n, m; cin >> n >> m; vector<long long> a(n + 2), d(n + 2); // 差分数组多开一位 for (int i = 1; i <= n; ++i) { cin >> a[i]; d[i] = a[i] - a[i - 1]; // 构建差分 } while (m--) { int l, r, k; cin >> l >> r >> k; d[l] += k; d[r + 1] -= k; } // 还原原数组 for (int i = 1; i <= n; ++i) { a[i] = a[i - 1] + d[i]; cout << a[i] << " "; } return 0; }