Submission #1155442

#TimeUsernameProblemLanguageResultExecution timeMemory
1155442tsengangFoehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
296 ms7292 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ff first #define ss second #define all(x) (x).begin(), (x).end() #define pb push_back #define ertunt return const int MOD = 998244353; #pragma GCC target ("avx2") #pragma GCC optimization ("O3") #pragma GCC optimization ("unroll-loops") int main() { ll n,q,s,t; cin >> n >> q >> s >> t; ll a[n+4]; ll ans = 0; ll b[n+4]; for(ll i = 0; i <= n; i++){ cin >> a[i]; if(i > 0){ b[i] = a[i] - a[i-1]; if(a[i] >= a[i-1]){ ans-=b[i]*s; } else{ ans+=t*(a[i-1] - a[i]); } } } while(q--){ ll l,r,x; cin >> l >> r >> x; if(b[l] >= 0)ans+=s*b[l]; else ans += t*b[l]; b[l]+=x; if(b[l]>=0) ans-=s*b[l]; else ans-=t*b[l]; if(r < n){ if(b[r+1]>=0) ans+=s*b[r+1]; else ans+=t*b[r+1]; b[r+1]-=x; if(b[r+1]>=0) ans-=s*b[r+1]; else ans-=t*b[r+1]; } cout << ans << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...