比赛 |
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);
}
}
}