#include<bits/stdc++.h>
#include<ext/pb_ds/assoc_container.hpp>
#define INF 1e9
#define ve vector
#define vi ve<int>
#define ii pair<int,int>
#define vii ve<ii>
#define pb push_back
#define fi first
#define se second
#define ll long long
using namespace __gnu_pbds;
using namespace std;
const int nax = 2e5+5;
const int kax = 25+5;
const int MOD = 1e9+7;
template <class T> using Tree = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
int main() {
int n,q;
ll s,t;
cin >> n >> q >> s >> t;
ve<ll> st(n+1), cur(n+1);
ll ans = 0;
for (int i = 0; i <= n; ++i)
{
cin >> cur[i];
st[i] = cur[i];
if(i) st[i] -= cur[i-1];
if(st[i]<0) ans += -st[i]*t;
else ans += -st[i]*s;
}
while(q--){
int l,r;
ll x;
cin >> l >> r >> x;
if(st[l] < 0) ans += st[l]*1ll*t;
else ans += st[l]*1ll*s;
st[l] += x;
if(st[l] < 0) ans -= st[l]*1ll*t;
else ans -= st[l]*1ll*s;
if(r != n){
if(st[r+1] < 0) ans += st[r+1]*1ll*t;
else ans += st[r+1]*1ll*s;
st[r+1] -= x;
if(st[r+1] < 0) ans -= st[r+1]*1ll*t;
else ans -= st[r+1]*1ll*s;
}
cout << ans << endl;
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
340 KB |
Output is correct |
2 |
Correct |
4 ms |
308 KB |
Output is correct |
3 |
Correct |
4 ms |
340 KB |
Output is correct |
4 |
Correct |
4 ms |
340 KB |
Output is correct |
5 |
Correct |
4 ms |
340 KB |
Output is correct |
6 |
Correct |
4 ms |
340 KB |
Output is correct |
7 |
Correct |
4 ms |
412 KB |
Output is correct |
8 |
Correct |
5 ms |
468 KB |
Output is correct |
9 |
Correct |
4 ms |
316 KB |
Output is correct |
10 |
Correct |
4 ms |
340 KB |
Output is correct |
11 |
Correct |
4 ms |
340 KB |
Output is correct |
12 |
Correct |
4 ms |
340 KB |
Output is correct |
13 |
Correct |
4 ms |
340 KB |
Output is correct |
14 |
Correct |
4 ms |
340 KB |
Output is correct |
15 |
Correct |
4 ms |
340 KB |
Output is correct |
16 |
Correct |
4 ms |
340 KB |
Output is correct |
17 |
Correct |
4 ms |
340 KB |
Output is correct |
18 |
Correct |
4 ms |
316 KB |
Output is correct |
19 |
Correct |
1 ms |
212 KB |
Output is correct |
20 |
Correct |
0 ms |
212 KB |
Output is correct |
21 |
Correct |
1 ms |
212 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
407 ms |
10208 KB |
Output is correct |
2 |
Correct |
418 ms |
10824 KB |
Output is correct |
3 |
Correct |
462 ms |
11412 KB |
Output is correct |
4 |
Correct |
419 ms |
10880 KB |
Output is correct |
5 |
Correct |
412 ms |
11976 KB |
Output is correct |
6 |
Correct |
413 ms |
10976 KB |
Output is correct |
7 |
Correct |
433 ms |
10968 KB |
Output is correct |
8 |
Correct |
411 ms |
11760 KB |
Output is correct |
9 |
Correct |
412 ms |
12164 KB |
Output is correct |
10 |
Correct |
449 ms |
10828 KB |
Output is correct |
11 |
Correct |
395 ms |
10872 KB |
Output is correct |
12 |
Correct |
393 ms |
11604 KB |
Output is correct |
13 |
Correct |
383 ms |
11984 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
340 KB |
Output is correct |
2 |
Correct |
4 ms |
308 KB |
Output is correct |
3 |
Correct |
4 ms |
340 KB |
Output is correct |
4 |
Correct |
4 ms |
340 KB |
Output is correct |
5 |
Correct |
4 ms |
340 KB |
Output is correct |
6 |
Correct |
4 ms |
340 KB |
Output is correct |
7 |
Correct |
4 ms |
412 KB |
Output is correct |
8 |
Correct |
5 ms |
468 KB |
Output is correct |
9 |
Correct |
4 ms |
316 KB |
Output is correct |
10 |
Correct |
4 ms |
340 KB |
Output is correct |
11 |
Correct |
4 ms |
340 KB |
Output is correct |
12 |
Correct |
4 ms |
340 KB |
Output is correct |
13 |
Correct |
4 ms |
340 KB |
Output is correct |
14 |
Correct |
4 ms |
340 KB |
Output is correct |
15 |
Correct |
4 ms |
340 KB |
Output is correct |
16 |
Correct |
4 ms |
340 KB |
Output is correct |
17 |
Correct |
4 ms |
340 KB |
Output is correct |
18 |
Correct |
4 ms |
316 KB |
Output is correct |
19 |
Correct |
1 ms |
212 KB |
Output is correct |
20 |
Correct |
0 ms |
212 KB |
Output is correct |
21 |
Correct |
1 ms |
212 KB |
Output is correct |
22 |
Correct |
407 ms |
10208 KB |
Output is correct |
23 |
Correct |
418 ms |
10824 KB |
Output is correct |
24 |
Correct |
462 ms |
11412 KB |
Output is correct |
25 |
Correct |
419 ms |
10880 KB |
Output is correct |
26 |
Correct |
412 ms |
11976 KB |
Output is correct |
27 |
Correct |
413 ms |
10976 KB |
Output is correct |
28 |
Correct |
433 ms |
10968 KB |
Output is correct |
29 |
Correct |
411 ms |
11760 KB |
Output is correct |
30 |
Correct |
412 ms |
12164 KB |
Output is correct |
31 |
Correct |
449 ms |
10828 KB |
Output is correct |
32 |
Correct |
395 ms |
10872 KB |
Output is correct |
33 |
Correct |
393 ms |
11604 KB |
Output is correct |
34 |
Correct |
383 ms |
11984 KB |
Output is correct |
35 |
Correct |
406 ms |
10396 KB |
Output is correct |
36 |
Correct |
478 ms |
11736 KB |
Output is correct |
37 |
Correct |
418 ms |
12724 KB |
Output is correct |
38 |
Correct |
427 ms |
12424 KB |
Output is correct |
39 |
Correct |
418 ms |
12404 KB |
Output is correct |
40 |
Correct |
412 ms |
12420 KB |
Output is correct |
41 |
Correct |
408 ms |
12196 KB |
Output is correct |
42 |
Correct |
461 ms |
12280 KB |
Output is correct |
43 |
Correct |
433 ms |
11668 KB |
Output is correct |
44 |
Correct |
421 ms |
12048 KB |
Output is correct |
45 |
Correct |
408 ms |
12108 KB |
Output is correct |
46 |
Correct |
421 ms |
13112 KB |
Output is correct |
47 |
Correct |
394 ms |
11616 KB |
Output is correct |
48 |
Correct |
394 ms |
11692 KB |
Output is correct |
49 |
Correct |
385 ms |
10676 KB |
Output is correct |
50 |
Correct |
395 ms |
11576 KB |
Output is correct |
51 |
Correct |
388 ms |
11892 KB |
Output is correct |
52 |
Correct |
383 ms |
11632 KB |
Output is correct |