比赛 2025.3.6 评测结果 AAAATTTTTT
题目名称 WHZ 的序列 最终得分 40
用户昵称 KKZH 运行时间 12.436 s
代码语言 C++ 内存使用 6.01 MiB
提交时间 2025-03-06 20:20:31
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3)
long long n,cf[1000010],a[200010],chang[200010],ans;
int main(){
	freopen("whz_sequence.in","r",stdin);
	freopen("whz_sequence.out","w",stdout);
	scanf("%lld",&n);
	for(long long i=1;i<=n;i++){
		scanf("%lld",&a[i]);
		cf[i]=a[i]-a[i-1];
	}
	long long aa,b,c,d;
	long long m;
	scanf("%lld",&m);
	long long add1,add2;
	for(long long i=1;i<=m;i++){
		ans=0;
		scanf("%lld%lld%lld",&aa,&b,&c);
		if(aa==1){
			scanf("%lld",&d);
			cf[b]+=d;
			cf[c+1]-=d;
		}else{
			for(int i=1;i<=c;i++){
				chang[i]=chang[i-1]+cf[i];
				if(i>=b){
					if((i-b)%2==1){
						ans+=chang[i];
					}else{
						ans-=chang[i];
					}
				}
			}
			printf("%lld\n",-ans);
		}
	}
}