제출 #1153632

#제출 시각아이디문제언어결과실행 시간메모리
1153632MPGFoehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
94 ms7240 KiB
#pragma GCC optimization ("unroll-loops") #pragma GCC optimization ("O1, O2, O3, Ofast") #pragma GCC optimization ("trapv") #pragma GCC optimization ("sse, sse2, sse3, sse4, sse4.1, sse4.2, avx") #include <bits/stdc++.h> using namespace std; typedef long long ll; #define max_heap priority_queue<ll> #define min_heap priority_queue<pair <ll, ll>, vector<pair <ll, ll>>, greater<pair <ll, ll>>> // size(), push(), top(), pop(); //#define min_heap priority_queue<ll, vector<ll>, greater<ll>> #define sariE cin.tie(NULL); cout.tie(NULL); ios_base::sync_with_stdio(false); #define filE freopen("in.txt", "r", stdin); freopen("out1.txt", "w", stdout); #define endl '\n' #define md(a) (a % mod + mod) % mod //cout << setprecision(5) << f; ll const maxn = 2e5 + 110; ll const inf = 2e18; ll const loG = 23; ll const mod = 998244353; //1e9 + 9, // 1e9 + 7; ll const sq = 750; ll power(ll a, ll b, ll mod){if (b == 0) return 1; if (b == 1) return a; ll x = power(a, b / 2, mod); return (((x * x) % mod) * (b % 2 ? a : 1)) % mod;} ll n, q, s, t, asl[maxn], dp[maxn], ans; ll trans(ll d){ if (d > 0){ return -d * s; } else return abs(d * t); } int main(){ sariE;// filE; cin >> n >> q >> s >> t; for (int i = 0; i < n + 1; i++){ cin >> asl[i]; } for (int i = 0; i < n; i++){ dp[i] = asl[i + 1] - asl[i]; ans += trans(dp[i]); } //cout << ans << endl; while (q--){ ll l, r, x; cin >> l >> r >> x; ans = ans - trans(dp[l - 1]) + trans(dp[l - 1] + x); dp[l - 1] += x; if (r < n){ ans = ans - trans(dp[r]) + trans(dp[r] - x); dp[r] -= x; } cout << ans << endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...