T334454 区间修改 50分求助!!!
  • 板块学术版
  • 楼主InvisibleT
  • 当前回复16
  • 已保存回复16
  • 发布时间2023/5/8 17:05
  • 上次更新2023/10/23 16:20:45
查看原帖
T334454 区间修改 50分求助!!!
740279
InvisibleT楼主2023/5/8 17:05

区间修改

题目描述

给定一个序列,序列里有NN个数,进行MM次操作,每次把[l,r][l,r]区间的数加上 xx。

输出经过MM次操作后的序列。

输入格式

第一行两个整数,分别为N,MN,M 第二行NN个数,代表初始序列。 接下来MM行每行三个数,代表l,r,xl,r,x。

输出格式

输出为NN个数,代表经过MM次操作后的序列。

样例 #1

样例输入 #1

3 2
1 2 3
1 1 1
1 3 3

样例输出 #1

5 5 6

提示

【数据规模】

对于100%的数据

1<=N<=1000001<=N<=100000

1<=M<=100001<=M<=10000

1<=l<=r<=N1<=l<=r<=N

abs(x)<=1000abs(x)<=1000


代码附上

#include <iostream>
using namespace std;
int main(){
	int n,m,l,r,x,a[100001]={0};
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=m;i++){
		cin>>l>>r>>x;
		for(int j=l;j<=r;j++){
			a[j]=a[j]+x;
		}
	}
	for(int i=1;i<=n;i++){
		cout<<a[i]<<" ";
	}
	return 0;
} 

评测结果

2023/5/8 17:05
加载中...