이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std;
#define rc(x) return cout<<x<<endl,0
#define pb push_back
#define dbg(x) cout << #x << '=' << x << '\n';
#define ll long long
#define int ll
#define sz size()
#define x first
#define y second
#define pi pair <int, int>
#define pii pair <int, pi>
#define vi vector <int>
const ll mod = 1e9 + 7;
int n, d[200002], a[200002], q, s, t;
int temp(int x){
if(x>0) return s*x*(-1);
else return t*abs(x);
}
int32_t main(){
ios_base :: sync_with_stdio(0); cin.tie(); cout.tie();
cin>>n>>q>>s>>t;
for(int i=0; i<=n; i++) cin>>a[i];
for(int i=1; i<=n; i++) d[i]=a[i]-a[i-1];
int ans=0;
for(int i=1; i<=n; i++) ans+=temp(d[i]);
///cout<<ans;
while(q--){
int l, r, x;
cin>>l>>r>>x;
ans+=(temp(d[l]+x)-temp(d[l]));
if(r+1<=n) ans+=(temp(d[r+1]-x)-temp(d[r+1]));
d[l]+=x;
if(r+1<=n) d[r+1]-=x;
cout<<ans<<endl;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |