#include <bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#define deb(...) logger(#__VA_ARGS__, __VA_ARGS__)
template<typename ...Args>
void logger(string vars, Args&&... values) {
cerr<<vars<<" = ";
string delim="";
(...,(cerr<<delim<<values,delim=", "));
cerr<<"\n";
}
#else
#define deb(...) logger(#__VA_ARGS__, __VA_ARGS__)
template<typename ...Args>
void logger(string vars, Args&&... values) {}
#endif
#define FOR(i,j,n) for(int i=j;i<n;i++)
#define pb push_back
#define sz(x) (int)(x.size())
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
template<typename T> inline void maxa(T& a,T b){a=max(a,b);}
template<typename T> inline void mina(T& a,T b){a=min(a,b);}
const int mxN=2e5+5;
ll add[mxN],diff[mxN],a[mxN];
int main(){
cin.sync_with_stdio(0);
cin.tie(0); cout.tie(0);
#ifdef LOCAL
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
#endif
int n,q,s,t; cin>>n>>q>>s>>t;
ll ans=0;
for(int i=0;i<=n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
diff[i]=a[i]-a[i+1];
if(diff[i]<0)
add[i]=s;
else
add[i]=t;
ans+=diff[i]*add[i];
}
while(q--){
int l,r,x; cin>>l>>r>>x;
ans-=add[l-1]*diff[l-1];
diff[l-1]-=x;
if(diff[l-1]<0)
add[l-1]=s;
else
add[l-1]=t;
ans+=add[l-1]*diff[l-1];
if(r<n){
ans-=add[r]*diff[r];
diff[r]+=x;
if(diff[r]<0)
add[r]=s;
else
add[r]=t;
ans+=add[r]*diff[r];
}
cout<<ans<<"\n";
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
332 KB |
Output is correct |
2 |
Correct |
2 ms |
460 KB |
Output is correct |
3 |
Correct |
2 ms |
460 KB |
Output is correct |
4 |
Correct |
2 ms |
460 KB |
Output is correct |
5 |
Correct |
2 ms |
332 KB |
Output is correct |
6 |
Correct |
2 ms |
332 KB |
Output is correct |
7 |
Correct |
2 ms |
460 KB |
Output is correct |
8 |
Correct |
2 ms |
460 KB |
Output is correct |
9 |
Correct |
2 ms |
332 KB |
Output is correct |
10 |
Correct |
2 ms |
460 KB |
Output is correct |
11 |
Correct |
2 ms |
460 KB |
Output is correct |
12 |
Correct |
2 ms |
460 KB |
Output is correct |
13 |
Correct |
2 ms |
460 KB |
Output is correct |
14 |
Correct |
2 ms |
456 KB |
Output is correct |
15 |
Correct |
2 ms |
332 KB |
Output is correct |
16 |
Correct |
2 ms |
460 KB |
Output is correct |
17 |
Correct |
1 ms |
332 KB |
Output is correct |
18 |
Correct |
2 ms |
460 KB |
Output is correct |
19 |
Correct |
1 ms |
332 KB |
Output is correct |
20 |
Correct |
0 ms |
332 KB |
Output is correct |
21 |
Correct |
1 ms |
332 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
120 ms |
11844 KB |
Output is correct |
2 |
Correct |
128 ms |
12556 KB |
Output is correct |
3 |
Correct |
122 ms |
12956 KB |
Output is correct |
4 |
Correct |
118 ms |
12440 KB |
Output is correct |
5 |
Correct |
122 ms |
13532 KB |
Output is correct |
6 |
Correct |
104 ms |
12596 KB |
Output is correct |
7 |
Correct |
106 ms |
12560 KB |
Output is correct |
8 |
Correct |
121 ms |
13320 KB |
Output is correct |
9 |
Correct |
122 ms |
13704 KB |
Output is correct |
10 |
Correct |
126 ms |
12528 KB |
Output is correct |
11 |
Correct |
107 ms |
12484 KB |
Output is correct |
12 |
Correct |
104 ms |
13172 KB |
Output is correct |
13 |
Correct |
103 ms |
13380 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
332 KB |
Output is correct |
2 |
Correct |
2 ms |
460 KB |
Output is correct |
3 |
Correct |
2 ms |
460 KB |
Output is correct |
4 |
Correct |
2 ms |
460 KB |
Output is correct |
5 |
Correct |
2 ms |
332 KB |
Output is correct |
6 |
Correct |
2 ms |
332 KB |
Output is correct |
7 |
Correct |
2 ms |
460 KB |
Output is correct |
8 |
Correct |
2 ms |
460 KB |
Output is correct |
9 |
Correct |
2 ms |
332 KB |
Output is correct |
10 |
Correct |
2 ms |
460 KB |
Output is correct |
11 |
Correct |
2 ms |
460 KB |
Output is correct |
12 |
Correct |
2 ms |
460 KB |
Output is correct |
13 |
Correct |
2 ms |
460 KB |
Output is correct |
14 |
Correct |
2 ms |
456 KB |
Output is correct |
15 |
Correct |
2 ms |
332 KB |
Output is correct |
16 |
Correct |
2 ms |
460 KB |
Output is correct |
17 |
Correct |
1 ms |
332 KB |
Output is correct |
18 |
Correct |
2 ms |
460 KB |
Output is correct |
19 |
Correct |
1 ms |
332 KB |
Output is correct |
20 |
Correct |
0 ms |
332 KB |
Output is correct |
21 |
Correct |
1 ms |
332 KB |
Output is correct |
22 |
Correct |
120 ms |
11844 KB |
Output is correct |
23 |
Correct |
128 ms |
12556 KB |
Output is correct |
24 |
Correct |
122 ms |
12956 KB |
Output is correct |
25 |
Correct |
118 ms |
12440 KB |
Output is correct |
26 |
Correct |
122 ms |
13532 KB |
Output is correct |
27 |
Correct |
104 ms |
12596 KB |
Output is correct |
28 |
Correct |
106 ms |
12560 KB |
Output is correct |
29 |
Correct |
121 ms |
13320 KB |
Output is correct |
30 |
Correct |
122 ms |
13704 KB |
Output is correct |
31 |
Correct |
126 ms |
12528 KB |
Output is correct |
32 |
Correct |
107 ms |
12484 KB |
Output is correct |
33 |
Correct |
104 ms |
13172 KB |
Output is correct |
34 |
Correct |
103 ms |
13380 KB |
Output is correct |
35 |
Correct |
127 ms |
11968 KB |
Output is correct |
36 |
Correct |
132 ms |
13380 KB |
Output is correct |
37 |
Correct |
130 ms |
14184 KB |
Output is correct |
38 |
Correct |
124 ms |
14020 KB |
Output is correct |
39 |
Correct |
133 ms |
13936 KB |
Output is correct |
40 |
Correct |
123 ms |
14064 KB |
Output is correct |
41 |
Correct |
123 ms |
13740 KB |
Output is correct |
42 |
Correct |
132 ms |
13924 KB |
Output is correct |
43 |
Correct |
127 ms |
13336 KB |
Output is correct |
44 |
Correct |
122 ms |
13508 KB |
Output is correct |
45 |
Correct |
126 ms |
13628 KB |
Output is correct |
46 |
Correct |
125 ms |
14632 KB |
Output is correct |
47 |
Correct |
105 ms |
13172 KB |
Output is correct |
48 |
Correct |
110 ms |
13252 KB |
Output is correct |
49 |
Correct |
115 ms |
12288 KB |
Output is correct |
50 |
Correct |
108 ms |
12996 KB |
Output is correct |
51 |
Correct |
107 ms |
13636 KB |
Output is correct |
52 |
Correct |
104 ms |
13148 KB |
Output is correct |