답안 #320766

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
320766 2020-11-09T19:25:46 Z urosk Foehn Phenomena (JOI17_foehn_phenomena) C++14
10 / 100
599 ms 10748 KB
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define inf 1e15
#define pb push_back
#define popb pop_back
#define fi first
#define sc second
#define pii pair<int,int>
#define all(a) a.begin(),a.end()
#define rall(a) a.begin(),a.end(),greater<int>()
using namespace std;
#define maxn 200005
ll a[maxn];
int main(){
	ios_base::sync_with_stdio(false);cerr.tie(0);cout.tie(0);
    ll n,q,s,t;
    cin >> n >>q>>s>>t;
    for(int i = 0;i<=n;i++) cin >> a[i];
    ll ans = 0;
    for(int i = 0;i<n;i++){
        if(a[i]<a[i+1]){
            ans-=s*(a[i+1]-a[i]);
        }else ans+=t*(a[i]-a[i+1]);
    }

    int l,r,x;
    while(q--){
        cin >> l >> r >> x;
        //cout<<a[l-1]<< " "<<a[l]<< " "<<a[r]<<" "<<a[r+1]<<"\n";
        if(r!=n){
            if(a[r]<a[r+1]){
                ans+=s*(a[r+1]-a[r]);
            }else ans-=t*(a[r]-a[r+1]);
            a[r]+=x;
            if(a[r]<a[r+1]){
                ans-=s*(a[r+1]-a[r]);
            }else ans+=t*(a[r]-a[r+1]);
        }
        if(l==r&&r!=n) a[l]-=x;
        if(a[l]>a[l-1]){
                ans+=s*(a[l]-a[l-1]);
        }else ans-=t*(a[l-1]-a[l]);
        a[l]+=x;
        if(a[l-1]<a[l]){
            ans-=s*(a[l]-a[l-1]);
        }else ans+=t*(a[l-1]-a[l]);
        cout<<ans<<"\n";
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 492 KB Output is correct
2 Incorrect 6 ms 492 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 555 ms 8800 KB Output is correct
2 Correct 556 ms 9444 KB Output is correct
3 Correct 562 ms 9956 KB Output is correct
4 Correct 559 ms 9316 KB Output is correct
5 Correct 559 ms 10468 KB Output is correct
6 Correct 549 ms 9572 KB Output is correct
7 Correct 593 ms 9700 KB Output is correct
8 Correct 566 ms 10568 KB Output is correct
9 Correct 580 ms 10748 KB Output is correct
10 Correct 553 ms 9444 KB Output is correct
11 Correct 582 ms 9596 KB Output is correct
12 Correct 599 ms 10340 KB Output is correct
13 Correct 543 ms 10352 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 492 KB Output is correct
2 Incorrect 6 ms 492 KB Output isn't correct
3 Halted 0 ms 0 KB -