Submission #288152

#TimeUsernameProblemLanguageResultExecution timeMemory
288152NemanjaSo2005Foehn Phenomena (JOI17_foehn_phenomena)C++14
30 / 100
1085 ms3692 KiB
#include<bits/stdc++.h> #define ll long long using namespace std; ll koliko[200005],povecaj,res=0,T,S,N,Q,u1,u2; int main(){ cin>>N>>Q>>S>>T; N++; for(int i=1;i<=N;i++) cin>>koliko[i]; for(int i=1;i<N;i++) if(koliko[i]<koliko[i+1]) res-=S*abs(koliko[i]-koliko[i+1]); else res+=T*abs(koliko[i]-koliko[i+1]); // cout<<res<<endl; while(Q--){ cin>>u1>>u2>>povecaj; u1++; u2++; if(koliko[u1-1]<koliko[u1] and u1!=1) res+=S*abs(koliko[u1-1]-koliko[u1]); if(koliko[u1-1]>=koliko[u1] and u1!=1) res-=T*abs(koliko[u1-1]-koliko[u1]); if(koliko[u2+1]<koliko[u2] and u2!=N) res+=S*abs(koliko[u2+1]-koliko[u2]); if(koliko[u2+1]>=koliko[u2] and u2!=N) res-=T*abs(koliko[u2+1]-koliko[u2]); for(int i=u1;i<=u2;i++) koliko[i]+=povecaj; if(koliko[u1-1]<koliko[u1] and u1!=1) res-=S*abs(koliko[u1-1]-koliko[u1]); if(koliko[u1-1]>=koliko[u1] and u1!=1) res+=T*abs(koliko[u1-1]-koliko[u1]); if(koliko[u2+1]<koliko[u2] and u2!=N) res-=S*abs(koliko[u2+1]-koliko[u2]); if(koliko[u2+1]>=koliko[u2] and u2!=N) res+=T*abs(koliko[u2+1]-koliko[u2]); /* for(int i=1;i<=N;i++) cout<<koliko[i]<<" "; cout<<endl;*/ res=0; for(int i=1;i<N;i++) if(koliko[i]<koliko[i+1]) res-=S*abs(koliko[i]-koliko[i+1]); else res+=T*abs(koliko[i]-koliko[i+1]); cout<<res<<endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...