#include<bits/stdc++.h>
using namespace std;
const int MAXN=200200;
long long n,q,s,t,d[MAXN]={},a[MAXN]={},ans=0;
void output();
void input()
{
cin>>n>>q>>s>>t;
for (int i=0;i<=n;i++)
cin>>a[i];
for (int i=1;i<=n;i++)
{
d[i]=a[i]-a[i-1];
if (d[i]>0)
ans-=d[i]*s;
else ans-=d[i]*t;
}
}
void process(long long l,long long r,long long v)
{
long long ndl=d[l]+v,ndr=d[r]-v;
if (d[l]<=0 && ndl<=0) ans+=(d[l]-ndl)*t;
if (d[l]<=0 && ndl>0) ans=ans-ndl*s+d[l]*t;
if (d[l]>0 && ndl<=0) ans=ans-ndl*t+d[l]*s;
if (d[l]>0 && ndl>0) ans+=(d[l]-ndl)*s;
if (r<=n)
{
if (d[r]<=0 && ndr<=0) ans+=(d[r]-ndr)*t;
if (d[r]<=0 && ndr>0) ans=ans-ndr*s+d[r]*t;
if (d[r]>0 && ndr<=0) ans=ans-ndr*t+d[r]*s;
if (d[r]>0 && ndr>0) ans+=(d[r]-ndr)*s;
}
d[l]+=v;
d[r]-=v;
}
void output()
{
cout<<ans<<endl;
}
int main()
{
int x,y,v;
input();
for (int i=1;i<=q;i++)
{
cin>>x>>y>>v;
process(x,y+1,v);
output();
}
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
12 ms |
376 KB |
Output is correct |
2 |
Correct |
12 ms |
376 KB |
Output is correct |
3 |
Correct |
13 ms |
380 KB |
Output is correct |
4 |
Correct |
12 ms |
376 KB |
Output is correct |
5 |
Correct |
13 ms |
376 KB |
Output is correct |
6 |
Correct |
13 ms |
376 KB |
Output is correct |
7 |
Correct |
13 ms |
376 KB |
Output is correct |
8 |
Correct |
12 ms |
376 KB |
Output is correct |
9 |
Correct |
12 ms |
376 KB |
Output is correct |
10 |
Correct |
12 ms |
376 KB |
Output is correct |
11 |
Correct |
12 ms |
376 KB |
Output is correct |
12 |
Correct |
13 ms |
504 KB |
Output is correct |
13 |
Correct |
12 ms |
376 KB |
Output is correct |
14 |
Correct |
13 ms |
504 KB |
Output is correct |
15 |
Correct |
12 ms |
376 KB |
Output is correct |
16 |
Correct |
12 ms |
504 KB |
Output is correct |
17 |
Correct |
13 ms |
376 KB |
Output is correct |
18 |
Correct |
12 ms |
504 KB |
Output is correct |
19 |
Correct |
4 ms |
376 KB |
Output is correct |
20 |
Correct |
5 ms |
376 KB |
Output is correct |
21 |
Correct |
5 ms |
376 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
792 ms |
4856 KB |
Output is correct |
2 |
Correct |
819 ms |
5496 KB |
Output is correct |
3 |
Correct |
808 ms |
6136 KB |
Output is correct |
4 |
Correct |
791 ms |
5240 KB |
Output is correct |
5 |
Correct |
818 ms |
12024 KB |
Output is correct |
6 |
Correct |
770 ms |
11128 KB |
Output is correct |
7 |
Correct |
766 ms |
11128 KB |
Output is correct |
8 |
Correct |
824 ms |
11896 KB |
Output is correct |
9 |
Correct |
822 ms |
12152 KB |
Output is correct |
10 |
Correct |
820 ms |
10976 KB |
Output is correct |
11 |
Correct |
757 ms |
10908 KB |
Output is correct |
12 |
Correct |
760 ms |
11672 KB |
Output is correct |
13 |
Correct |
768 ms |
12060 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
12 ms |
376 KB |
Output is correct |
2 |
Correct |
12 ms |
376 KB |
Output is correct |
3 |
Correct |
13 ms |
380 KB |
Output is correct |
4 |
Correct |
12 ms |
376 KB |
Output is correct |
5 |
Correct |
13 ms |
376 KB |
Output is correct |
6 |
Correct |
13 ms |
376 KB |
Output is correct |
7 |
Correct |
13 ms |
376 KB |
Output is correct |
8 |
Correct |
12 ms |
376 KB |
Output is correct |
9 |
Correct |
12 ms |
376 KB |
Output is correct |
10 |
Correct |
12 ms |
376 KB |
Output is correct |
11 |
Correct |
12 ms |
376 KB |
Output is correct |
12 |
Correct |
13 ms |
504 KB |
Output is correct |
13 |
Correct |
12 ms |
376 KB |
Output is correct |
14 |
Correct |
13 ms |
504 KB |
Output is correct |
15 |
Correct |
12 ms |
376 KB |
Output is correct |
16 |
Correct |
12 ms |
504 KB |
Output is correct |
17 |
Correct |
13 ms |
376 KB |
Output is correct |
18 |
Correct |
12 ms |
504 KB |
Output is correct |
19 |
Correct |
4 ms |
376 KB |
Output is correct |
20 |
Correct |
5 ms |
376 KB |
Output is correct |
21 |
Correct |
5 ms |
376 KB |
Output is correct |
22 |
Correct |
792 ms |
4856 KB |
Output is correct |
23 |
Correct |
819 ms |
5496 KB |
Output is correct |
24 |
Correct |
808 ms |
6136 KB |
Output is correct |
25 |
Correct |
791 ms |
5240 KB |
Output is correct |
26 |
Correct |
818 ms |
12024 KB |
Output is correct |
27 |
Correct |
770 ms |
11128 KB |
Output is correct |
28 |
Correct |
766 ms |
11128 KB |
Output is correct |
29 |
Correct |
824 ms |
11896 KB |
Output is correct |
30 |
Correct |
822 ms |
12152 KB |
Output is correct |
31 |
Correct |
820 ms |
10976 KB |
Output is correct |
32 |
Correct |
757 ms |
10908 KB |
Output is correct |
33 |
Correct |
760 ms |
11672 KB |
Output is correct |
34 |
Correct |
768 ms |
12060 KB |
Output is correct |
35 |
Correct |
818 ms |
10380 KB |
Output is correct |
36 |
Correct |
816 ms |
11896 KB |
Output is correct |
37 |
Correct |
796 ms |
12664 KB |
Output is correct |
38 |
Correct |
808 ms |
12408 KB |
Output is correct |
39 |
Correct |
818 ms |
12536 KB |
Output is correct |
40 |
Correct |
818 ms |
12408 KB |
Output is correct |
41 |
Correct |
820 ms |
12256 KB |
Output is correct |
42 |
Correct |
793 ms |
12408 KB |
Output is correct |
43 |
Correct |
801 ms |
11640 KB |
Output is correct |
44 |
Correct |
821 ms |
12024 KB |
Output is correct |
45 |
Correct |
811 ms |
12152 KB |
Output is correct |
46 |
Correct |
831 ms |
13176 KB |
Output is correct |
47 |
Correct |
765 ms |
11768 KB |
Output is correct |
48 |
Correct |
761 ms |
11768 KB |
Output is correct |
49 |
Correct |
759 ms |
10744 KB |
Output is correct |
50 |
Correct |
728 ms |
11512 KB |
Output is correct |
51 |
Correct |
780 ms |
11896 KB |
Output is correct |
52 |
Correct |
747 ms |
11640 KB |
Output is correct |