#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 time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |