Submission #1270104

#TimeUsernameProblemLanguageResultExecution timeMemory
1270104cmiucFoehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
93 ms7240 KiB
#include <iostream> using namespace std; #define int long long const int N = 1<<18; int a[N], d[N]; void Add(int &Ans, int di, int s, int t, int k){ if (di > 0) Ans -= s * di * k; else Ans -= t * di * k; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, q, s, t, Ans = 0; cin>>n>>q>>s>>t; for (int i=0;i<=n;i++){ cin>>a[i]; if (i == 0) continue; d[i] = a[i] - a[i-1]; Add(Ans, d[i], s, t, 1); } for (int i=1;i<=q;i++){ int l, r, x; cin>>l>>r>>x; Add(Ans, d[l], s, t, -1); d[l] += x; Add(Ans, d[l], s, t, 1); if (r != n){ Add(Ans, d[r+1], s, t, -1); d[r+1] -= x; Add(Ans, d[r+1], s, t, 1); } cout<<Ans<<'\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...