Submission #1016285

#TimeUsernameProblemLanguageResultExecution timeMemory
1016285dpsaveslivesFoehn Phenomena (JOI17_foehn_phenomena)C++17
100 / 100
82 ms13180 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N,Q; ll S,T; cin >> N >> Q >> S >> T; vector<ll> A(N+1),diff(N+1,0); for(int i = 0;i<=N;++i){ cin >> A[i]; if(i != 0){ diff[i] = A[i]-A[i-1]; } } ll ans = 0; for(int i = 1;i<=N;++i){ if(diff[i] > 0){ ans -= S*diff[i]; } else{ ans -= T*diff[i]; } } while(Q--){ int l,r; ll x; cin >> l >> r >> x; if(diff[l] > 0){ ans += S*diff[l]; } else{ ans += T*diff[l]; } diff[l] += x; if(diff[l] > 0){ ans -= S*diff[l]; } else{ ans -= T*diff[l]; } if(r+1 <= N){ if(diff[r+1] > 0){ ans += S*diff[r+1]; } else{ ans += T*diff[r+1]; } diff[r+1] -= x; if(diff[r+1] > 0){ ans -= S*diff[r+1]; } else{ ans -= T*diff[r+1]; } } cout << ans << "\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...