求助!第二个点WA
查看原帖
求助!第二个点WA
542924
lajhehe666233楼主2022/4/9 16:33
#include<stdio.h>
long long a[500005],cha[500005],b[500005];
long long n,q,s,t,wo;
long long ans;
int main(){
	ans=0;
	scanf("%lld%lld%lld%lld%lld",&n,&q,&s,&t,&wo);
	a[0]=0;
	for(int i=1;i<=n;i++){
		scanf("%lld",&a[i]);
		cha[i]=a[i]-a[i-1];
		if(cha[i]>0) b[i]-=cha[i]*s;
		else if(cha[i]<0) b[i]-=cha[i]*t;
		else b[i]=0;
		ans+=b[i];
	}
	//printf("\n\nans=%d\n\n",ans);
	for(int i=1;i<=q;i++){
	//	long long b=0;
		long long fm,to,jia;
		scanf("%lld%lld%lld",&fm,&to,&jia);
		ans-=b[fm];
		cha[fm]+=jia;
		if(cha[fm]>0) b[fm]=-cha[fm]*s;
		else if(cha[fm]<0) b[fm]=-cha[fm]*t;
		ans+=b[fm];
		if(to!=n){
			ans-=b[to+1];
			cha[to+1]-=jia;
			if(cha[to+1]>0) b[to+1]=-cha[to+1]*s;
			else if(cha[to+1]<0) b[to+1]=-cha[to+1]*t;	
			ans+=b[to+1];
		}
		printf("%lld\n",ans);
	
//		for(int i=1;i<=n;i++){
//			if(cha[i]>0){
//				b-=s*cha[i];
//			}
//			else if(cha[i]<0){
//				b+=t*(-cha[i]);
//			}
//		}
	//	printf("%lld\n",b);
	}
}
2022/4/9 16:33
加载中...