Submission #1285308

#TimeUsernameProblemLanguageResultExecution timeMemory
1285308okahak71Addk (eJOI21_addk)C++20
92 / 100
32 ms4704 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; #pragma GCC optimize("O3") void _(){ ll n, kk; cin >> n >> kk; vector<ll>a(n); for(ll &i : a) cin >> i; ll q, dum; cin >> q; vector<ll>pref(n + 1, 0), qref(n + 1, 0); for(ll i = 1; i <= n; i++){ pref[i] = pref[i - 1] + a[i - 1]; qref[i] = qref[i - 1] + a[i - 1] * i; } while(q--){ ll t; cin >> t; if(t == 1) cin >> dum; else{ ll l, r, m; cin >> l >> r >> m; ll sz = r - l + 1; ll p1, mid, p2, k = min(m, sz - m + 1); mid = k * (pref[r - k + 1] - pref[l + k - 2]); p1 = (qref[l + k - 2] - qref[l - 1]) - (pref[l + k - 2] - pref[l - 1]) * (l - 1); p2 = (pref[r] - pref[r - k + 1]) * k - ((qref[r] - qref[r - k + 1]) - (pref[r] - pref[r - k + 1]) * (r - k + 1)); cout << p1 + mid + p2 << '\n'; } } } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); _(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...