Submission #288785

#TimeUsernameProblemLanguageResultExecution timeMemory
288785dolijanFoehn Phenomena (JOI17_foehn_phenomena)C++14
100 / 100
567 ms13176 KiB
#include <bits/stdc++.h> typedef long long ll; #define pb push_back; using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); ll n,q,s,t; cin>>n>>q>>s>>t; ll a[n]; for(int i=0;i<=n;i++) cin>>a[i]; ll pozitivni=0,negativni=0; ll razlika[n]; for(int i=0;i<n;i++) { razlika[i]=a[i]-a[i+1]; } for(int i=0;i<n;i++) { if(razlika[i]<0) negativni+=abs(razlika[i]); else pozitivni+=abs(razlika[i]); } while(q--) { int l,r,x; cin>>l>>r>>x; if(r!=n) { if(razlika[r]<0) negativni-=abs(razlika[r]); else pozitivni-=abs(razlika[r]); razlika[r]+=x; if(razlika[r]<0) negativni+=abs(razlika[r]); else pozitivni+=abs(razlika[r]); } if(razlika[l-1]<0) negativni-=abs(razlika[l-1]); else pozitivni-=abs(razlika[l-1]); razlika[l-1]-=x; if(razlika[l-1]<0) negativni+=abs(razlika[l-1]); else pozitivni+=abs(razlika[l-1]); cout<<pozitivni*t-negativni*s<<endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...