Submission #51542

#TimeUsernameProblemLanguageResultExecution timeMemory
51542Flying_dragon_02Foehn Phenomena (JOI17_foehn_phenomena)C++14
100 / 100
200 ms7644 KiB
#include<bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define mp make_pair typedef pair<int,int> ii; int n,q; long long s,t,a[200005],b[200005],total,l,r,x; int main(){ cin.tie(0),ios::sync_with_stdio(0); cin >> n >> q >> s >> t; for(int i = 0;i <= n;i++) cin >> a[i]; for(int i = 1;i <=n;i++){ b[i] = a[i] - a[i-1]; if(a[i-1] < a[i]) total -= (a[i] - a[i-1])*s; else total -= (a[i] - a[i-1])*t; } while(q--){ cin >> l >> r >> x; if(b[l] > 0) total += b[l]*s; else total += b[l]*t; b[l] += x; if(b[l] > 0) total -= b[l]*s; else total -= b[l]*t; if(r+1 <= n){ if(b[r+1] > 0) total += b[r+1]*s; else total += b[r+1]*t; b[r+1] -= x; if(b[r+1] > 0) total -= b[r+1]*s; else total -= b[r+1]*t; } cout << total << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...