Submission #1212229

#TimeUsernameProblemLanguageResultExecution timeMemory
1212229ivan_alexeevFoehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
61 ms6472 KiB
#include <bits/stdc++.h> using namespace std; #ifndef lisie_bimbi #define endl '\n' #pragma GCC optimize("O3") #pragma GCC target("avx,avx2,bmi2,fma") #endif using ll = long long; const ll inf = 1'000'000'000'000'000'000; using ld = long double; void solve(){ int n, q; ll s, t; cin >> n >> q >> s >> t; vector<int> z(n + 1); for(int i = 0; i < n + 1; i++){ cin >> z[i]; } vector<ll> a(n); for(int i = 0; i < n; i++){ a[i] = z[i + 1] - z[i]; } ll now = 0; for(int i = 0; i < n; i++){ if(a[i] > 0){ now -= s * a[i]; }else{ now -= t * a[i]; } } for(int i = 0; i < q; i++){ int l, r, x; cin >> l >> r >> x; l--; if(a[l] > 0){ now += s * a[l]; }else{ now += t * a[l]; } a[l] += x; if(a[l] > 0){ now -= s * a[l]; }else{ now -= t * a[l]; } if(r < n){ if(a[r] > 0){ now += s * a[r]; }else{ now += t * a[r]; } a[r] -= x; if(a[r] > 0){ now -= s * a[r]; }else{ now -= t * a[r]; } } cout << now << endl; } } signed main(){ #ifdef lisie_bimbi freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #else #endif cin.tie(nullptr)->sync_with_stdio(false); cout << setprecision(20) << fixed; int t = 1; //cin >> t; while(t--){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...