比赛 板子大赛 评测结果 AAAAAAAAAA
题目名称 区间修改 最终得分 100
用户昵称 xxz 运行时间 1.292 s
代码语言 C++ 内存使用 3.67 MiB
提交时间 2025-01-22 08:43:28
显示代码纯文本
#include <iostream>
using namespace std;
long long a[10001], b[10001], tot[10001];
int m, n, ia = 1, ib = 1, j;
int main() {
	freopen("interval_mod.in", "r", stdin);
	freopen("interval_mod.out", "w", stdout);
	int min,max;
	scanf("%d",&n);
	while (ia <= n) {
		scanf("%lld",&a[ia]);
		ia++;
	}
	ia = 1;
	while (ia <= n) {
		b[ia] = a[ia] - a[ia - 1];
		ia = ia + 1;
	}
	ia = 1;
	scanf("%d",&m);
	while (ia <= m) {
		cin >> min >> max >> j;
		b[min] = b[min] + j;
		b[max + 1] = b[max + 1] - j;
		ia = ia + 1;
	}
	ia = 1;
	while (ia <= n) {
		ib = ia;
		while (ib >= 1) {
			tot[ia] = tot[ia] + b[ib];
			ib = ib - 1;
		}
		ia = ia + 1;
	}
	ia = 1;
	while (ia <= n) {
		printf("%lld ",tot[ia]);
		ia = ia + 1;
	}
}