求调!回者必关
查看原帖
求调!回者必关
1283023
liumoumou_haha楼主2024/8/20 11:57
#include<bits/stdc++.h>
using namespace std;
const int N=2000005;
long long n,q,s,t,b[N],ans;
long long op(long long num)
{
	if(num>0) return -s*num;
	else return -t*num;
}
int main()
{
 	cin>>n>>q>>s>>t;
 	long long T=0,l;
	for(int i=0;i<=n;i++)
	{
		scanf("%lld",&l);
		b[i]=l-T;
		T=l;
		ans+=op(b[i]);
	}
	while(q--)
	{
		long long x,y,z;
		scanf("%lld%lld%lld",&x,&y,&z);
		ans-=op(b[x]);
		b[x]+=z;
		ans+=op(b[x]);
		if(y!=n)
		{
			ans-=op(b[y+1]);
			b[y+1]=z;
			ans+=op(b[y+1]);
		}
		cout<<ans<<endl;
	}
	return 0;
}
2024/8/20 11:57
加载中...