Submission #933730

#TimeUsernameProblemLanguageResultExecution timeMemory
933730IrateFoehn Phenomena (JOI17_foehn_phenomena)C++14
100 / 100
86 ms12420 KiB
#include<bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n, q, s, t; cin >> n >> q >> s >> t; s = -s; vector<int>v(n + 1); for(int i = 0;i <= n;++i){ cin >> v[i]; } vector<long long>diff(n + 5); long long temper = 0; for(int i = 1;i <= n;++i){ diff[i] = v[i] - v[i - 1]; if(diff[i] < 0){ temper += (long long)t * -diff[i]; } else{ temper += (long long)s * diff[i]; } } while(q--){ int l, r, x; cin >> l >> r >> x; if(diff[l] < 0){ temper -= (long long)t * -diff[l]; } else{ temper -= (long long)s * diff[l]; } if(diff[r + 1] < 0){ temper -= (long long)t * -diff[r + 1]; } else{ temper -= (long long)s * diff[r + 1]; } diff[l] += x; if(r + 1 <= n)diff[r + 1] -= x; if(diff[l] < 0){ temper += (long long)t * -diff[l]; } else{ temper += (long long)s * diff[l]; } if(diff[r + 1] < 0){ temper += (long long)t * -diff[r + 1]; } else{ temper += (long long)s * diff[r + 1]; } cout << temper << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...