Submission #1172741

#TimeUsernameProblemLanguageResultExecution timeMemory
1172741manowoAddk (eJOI21_addk)C++20
36 / 100
2094 ms2892 KiB
#include <bits/stdc++.h>
#define int long long

using namespace std;

const int N = 2e5 + 2;
const int inf = 1e15;
const int mod = 1e9 + 7;
int T = 1, a[N], t[4 * N] , p[N];

void build(int v, int tl, int tr)
{
    if (tl == tr)
    {
        t[v] = a[tl];
        return;
    }
    int mid = (tl + tr) / 2;
    build(v + v, tl, mid);
    build(v + v + 1, mid + 1, tr);
    t[v] = t[v + v] + t[v + v + 1];
}

void upd(int v, int tl, int tr, int pos, int x)
{
    if (tl == tr)
    {
        t[v] = x;
        return;
    }
    int mid = (tl + tr) / 2;
    if (pos <= mid)
        upd(v + v, tl, mid, pos, x);
    else
        upd(v + v + 1, mid + 1, tr, pos, x);
    t[v] = t[v + v] + t[v + v + 1];
}

signed main()
{
    int n, k;
    cin >> n >> k;
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
    p[0] = 0;
    for (int i = 1; i <= n; i++)
    {
        p[i] = p[i - 1] + a[i - 1]; 
    }
    int q;
    cin >> q;
    while (q--)
    {
        int type;
        cin >> type;
        if (type == 1)
        {
            int aza;
            cin>>aza;
            continue;
        }
        else
        {
            int l, r, m;
            cin >> l >> r >> m;
            int sum = 0;
            for (int i = l + m - 1; i <= r; i++)
            {
                sum += p[i] - p[i - m];
            }
            cout << sum << endl;
        }
    }

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...