Submission #288539

#TimeUsernameProblemLanguageResultExecution timeMemory
288539HeheheFoehn Phenomena (JOI17_foehn_phenomena)C++14
100 / 100
162 ms12072 KiB
#include<bits/stdc++.h> //:3 using namespace std; typedef long long ll; #define all(a) (a).begin(), (a).end() #define ff first #define ss second #define pb push_back #define mp make_pair #define pi pair<int, int> #define sz(x) (int)((x).size()) #define int long long const int dx[] = {0, 1, 0, -1}; const int dy[] = {1, 0, -1, 0}; const ll inf = 2e9; const ll mod = 1e9 + 7; const int N = 2e6 + 11; const int X = 1e6; const ll INF64 = 3e18 + 1; const double eps = 1e-14; const double PI = acos(-1); //ifstream in(".in"); //ofstream out(".out"); int n, a[N], d[N], s, tt, q; int rs(int x){ if(x > 0)return -s*x; return -x*tt; } void solve(){ cin >> n >> q >> s >> tt; int ans = 0; for(int i = 0; i <= n; i++){ cin >> a[i]; } for(int i = 1; i <= n; i++){ d[i] = a[i] - a[i - 1]; ans += rs(d[i]); } while(q--){ int L, R, x; cin >> L >> R >> x; ans += rs(d[L] + x) - rs(d[L]); if(R < n)ans += rs(d[R + 1] - x) - rs(d[R + 1]); d[L] += x; if(R < n)d[R + 1] -= x; cout << ans << '\n'; } } int32_t main(){ ios_base :: sync_with_stdio(0); cin.tie(0); cout.tie(0); cout << setprecision(6) << fixed; int T = 1; //cin >> T; while(T--){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...