Submission #1180945

#TimeUsernameProblemLanguageResultExecution timeMemory
1180945boclobanchatFoehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
62 ms5704 KiB
#include<bits/stdc++.h>
using namespace std;
const int MAXN=2e5+5;
long long D[MAXN];
long long n,q,s,t,ans=0,pre=0;
void update(int i,long long val)
{
	if(D[i]>=0) ans+=D[i]*s;
	else ans+=D[i]*t;
	D[i]+=val;
	if(D[i]>=0) ans-=D[i]*s;
	else ans-=D[i]*t;
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin>>n>>q>>s>>t;
    for(int i=0;i<=n;i++)
    {
    	long long res;
    	cin>>res;
    	if(i) update(i,res-pre);
    	pre=res;
	}
	for(int i=1;i<=q;i++)
	{
		long long l,r,v;
		cin>>l>>r>>v;
		update(l,v);
		if(r+1<=n) update(r+1,-v);
		cout<<ans<<"\n";
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...