Submission #48925

# Submission time Handle Problem Language Result Execution time Memory
48925 2018-05-20T04:40:22 Z AlphaRazra Foehn Phenomena (JOI17_foehn_phenomena) C++14
0 / 100
838 ms 4032 KB
#include<bits/stdc++.h>
#define pb push_back
#define fs first
#define sc second
#define mp make_pair
using namespace std;
 
int n,q,s,t;
int a[200005];
int sim[200005];
pair<int,int> diff;

int main(){
    cin >> n >> q >> s >> t;

    for(int i = 0; i < n + 1; i++){
        cin >> a[i];
    }
    diff = mp(0,0);
    for(int i = 0; i < n; i++){
        sim[i] = a[i + 1] - a[i];
        if(sim[i] > 0){
            diff.fs = diff.fs + sim[i];
        }else{
            diff.sc = diff.sc + abs(sim[i]);
        }
    }

    for(int i = 0; i < q; i++){
        int a,b,x; cin >> a >> b >> x;
        
        if(a != 0){
            if(sim[a - 1] > 0){
                diff.fs -= sim[a - 1];
            }else{
                diff.sc -= abs(sim[a - 1]);
            }
         //   if(i == 2) cout << a << " " << sim[a - 1] << " " << diff.sc  << " here\n";
            sim[a - 1] += x;
            if(sim[a - 1] > 0){
                diff.fs += sim[a - 1];
            }else{
                diff.sc += abs(sim[a - 1]);
            }
        }
        if(b != n){
            if(sim[b] > 0){
                diff.fs -= sim[b];
            }else{
                diff.sc -= abs(sim[b]);
            }
            sim[b] -= x;
            if(sim[b] > 0){
                diff.fs += sim[b];
            }else{
                diff.sc += abs(sim[b]);
            }
        }
    //    cout << diff.fs << " " << diff.sc << " ini\n";
        cout << - diff.fs * s + diff.sc * t << "\n";
    }
}
# Verdict Execution time Memory Grader output
1 Correct 8 ms 376 KB Output is correct
2 Incorrect 9 ms 376 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 765 ms 3376 KB Output is correct
2 Correct 838 ms 4032 KB Output is correct
3 Incorrect 708 ms 4032 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 8 ms 376 KB Output is correct
2 Incorrect 9 ms 376 KB Output isn't correct
3 Halted 0 ms 0 KB -