70分 后三个点TLE 求助
查看原帖
70分 后三个点TLE 求助
735252
ordoki楼主2022/8/20 00:01
#include<iostream>
using namespace std;
void qwq(int abc[],int size,int x,int y,int k){
	for(int z=x;z<=y;z++)
		abc[z]+=k;
}
int qwq(int abc[],int size,int x,int y){
	int ans=0;
	for(int z=x;z<=y;z++)
		ans+=abc[z];
	return ans;
}
struct ope_par{
	int type,x,y,k=0;
};
int main(){
	int n,m;
	cin>>n>>m;
	int a[n+1]={0},out[m+1]={0},b=0;
	ope_par ope[m+1];
	for(int i=1;i<=n;i++)
		cin>>a[i];
	for(int i=1;i<=m;i++){
		cin>>ope[i].type;
		if(ope[i].type==1){
			cin>>ope[i].x>>ope[i].y>>ope[i].k;
			qwq(a,sizeof(a),ope[i].x,ope[i].y,ope[i].k);
		}
		if(ope[i].type==2){
			cin>>ope[i].x>>ope[i].y;
			out[++b]=qwq(a,sizeof(a),ope[i].x,ope[i].y);
		}
	}
	for(int i=1;i<=b;i++)
		cout<<out[i]<<endl;
	return 0;
}
2022/8/20 00:01
加载中...